Mạng nơ-ron sâu (DNN) là một kỹ thuật học máy cho phép máy tính, bằng cách đào tạo nó, thực hiện các tác vụ rất khó thực hiện bằng các kỹ thuật lập trình thông thường. Các thuật toán mạng thần kinh được lấy cảm hứng từ bộ não con người và các chức năng của nó: giống như tâm trí con người của chúng ta, nó được thiết kế để hoạt động không chỉ bằng cách tuân theo một danh sách các quy tắc đặt trước, mà còn bằng cách dự đoán các giải pháp và rút ra kết luận dựa trên các lần lặp lại và kinh nghiệm trước đó.
Kiến trúc mạng nơ-ron là gì?
Một mạng lưới thần kinh bao gồm nhiều lớp nút nhận đầu vào từ các lớp khác và tạo ra đầu ra cho đến khi đạt được kết quả cuối cùng. Mạng nơ-ron có thể có bất kỳ số lớp ẩn nào: càng nhiều lớp nút trong mạng, độ phức tạp càng cao. Dưới đây là các kiến trúc mạng nơ-ron khác nhau:
- Mạng nơ-ron truyền thống, thường bao gồm 2 hoặc 3 lớp ẩn;
- Mạng học sâu, có thể có tới 150 lớp ẩn;
Sự khác biệt giữa mạng nơ-ron và mạng nơ-ron sâu là gì?
Mạng nơ-ron sâu là một hệ thống phức tạp hơn nhiều so với hệ thống thần kinh "đơn giản". Một mạng lưới thần kinh có thể so sánh với một trò chơi cờ vua và hoạt động theo các thuật toán: các chiến thuật khác nhau sẽ được đề xuất theo các nước đi và hành động của đối thủ. Mạng nơ-ron này sẽ bị giới hạn ở những gì đầu vào của lập trình viên:
- Làm thế nào để các quân cờ di chuyển;
- Kích thước của bàn cờ;
- Các chiến lược khác nhau cho các tình huống khác nhau;
Một mạng lưới thần kinh vượt ra ngoài dữ liệu đầu vào và có thể học hỏi từ những kinh nghiệm trước đó sẽ trở thành một mạng lưới thần kinh sâu
Ví dụ, trên cùng một máy tính, bạn có thể đào tạo một mạng lưới thần kinh, sau đó chơi với nó với những người khác và để nó học khi nó chơi. Từ đó, nếu một mạng lưới thần kinh có thể học hỏi từ những người chơi khác nhau, nó có thể trở nên khó khăn, hoặc theo nghĩa đen là không thể, để đánh bại một mạng lưới thần kinh sâu, ngay cả đối với các bậc thầy cờ vua.
Mạng nơ-ron sâu có thể nhận ra lệnh thoại, xác định giọng nói, nhận dạng âm thanh và đồ họa và làm được nhiều việc hơn một mạng lưới thần kinh. Các mạng học sâu sử dụng "Dữ liệu lớn" cùng với các thuật toán để giải quyết vấn đề và các mạng nơ-ron sâu này có thể giải quyết các vấn đề với đầu vào hạn chế hoặc không có đầu vào của con người.
Làm thế nào để hình dung công việc của một mạng lưới thần kinh sâu?
Quá trình của một mạng nơ-ron sâu được hiểu rõ nhất bằng cách xem xét một ví dụ. Hãy tưởng tượng bạn có hàng trăm ngàn hình ảnh, một số trong đó có chó trong đó và bạn quyết định bạn muốn viết một chương trình máy tính để nhận dạng chó trong ảnh.
Bạn có hai sự lựa chọn. Bạn có thể viết một chương trình để xác định rõ ràng chó, hoặc bạn có thể viết một chương trình "học" cách xác định chó.
Bạn không khôn ngoan quyết định cố gắng làm cái trước.
Sử dụng các kỹ thuật lập trình thông thường rất dài và khó, và kết quả không phải lúc nào cũng chính xác
Để xác định hình ảnh chó, bạn tạo một chương trình phần mềm bằng cách sử dụng các câu lệnh "nếu" và "thì" trong đó khả năng bạn đang nhìn vào một được lập trình để tăng lên mỗi khi bạn xác định một thuộc tính giống chó như lông, tai mềm và đuôi. Tuy nhiên, loại hệ thống thần kinh này khó khăn ở nhiều cấp độ:
Ví dụ: nếu một cụm pixel giống như đuôi, hãy tăng khả năng bạn đang nhìn vào một. Mạng nơ-ron sâu của bạn cần xác định các nhóm pixel tương ứng với các thuộc tính giống chó. Ngay cả khi bạn quản lý để làm điều đó, có những vấn đề cho thuật toán của bạn:
- Nhiều đối tượng được chụp ảnh chia sẻ một số thuộc tính giống chó, đặc biệt là ảnh của các động vật tương tự. Bạn sẽ cần thêm các quy tắc;
- Đôi khi các thuộc tính ở đó nhưng bị che khuất. Các thuật toán của bạn sẽ không nhận chúng;
- Đôi khi các thuộc tính chỉ quan trọng khi có các thuộc tính khác. Sẽ cần nhiều quy tắc quyết định hơn;
Phân loại của bạn không thành công. Bạn nhận ra rằng bạn không thể tự xác định tập hợp các thuộc tính hoàn chỉnh chứ đừng nói đến việc đưa ra tất cả các quy tắc cần thiết để đối phó với tất cả các trường hợp đặc biệt này.
Bạn khôn ngoan từ bỏ và quyết định thử phương pháp thứ hai. Để sử dụng một mạng lưới thần kinh hoặc, thậm chí tốt hơn, một mạng nơ-ron sâu.
Mô hình học sâu có thể giúp bạn tiết kiệm thời gian viết mã và mang lại kết quả tốt hơn
Mạng lưới thần kinh được đặt tên như vậy bởi vì có một sự tương đồng giữa phương pháp lập trình này và cách thức hoạt động của bộ não.
Cũng giống như bộ não, các thuật toán mạng lưới thần kinh sử dụng một mạng lưới các tế bào thần kinh hoặc các nút. Và giống như bộ não, những tế bào thần kinh này là các chức năng rời rạc (hoặc các máy nhỏ nếu bạn thích) nhận đầu vào và tạo ra đầu ra. Các nút này được sắp xếp theo các lớp theo đó đầu ra của các tế bào thần kinh trong một lớp trở thành đầu vào cho các tế bào thần kinh ở lớp tiếp theo cho đến khi các tế bào thần kinh ở lớp ngoài của mạng tạo ra kết quả cuối cùng.
Do đó, có các lớp tế bào thần kinh với mỗi tế bào thần kinh riêng lẻ nhận được đầu vào rất hạn chế và tạo ra đầu ra rất hạn chế giống như trong não. Lớp đầu tiên (hoặc lớp đầu vào) của tế bào thần kinh nhận đầu vào và lớp tế bào thần kinh cuối cùng (hoặc lớp đầu ra) trong mạng xuất ra kết quả.
Có chính xác không khi gọi loại thuật toán này là "mạng thần kinh"?
Tất nhiên, bộ não con người phức tạp và mạnh mẽ hơn nhiều so với một mạng lưới thần kinh. Đặt tên cho thuật toán là "mạng nơ-ron sâu" là một cuộc đảo chính thương hiệu, nhưng nó có thể tạo ra những kỳ vọng không thực tế về những gì có thể đạt được với các kỹ thuật này. Điều đó nói rằng có những người đang cố gắng thiết kế lại bộ não, sử dụng một mạng lưới thần kinh rất phức tạp, với hy vọng rằng bằng cách này, họ sẽ có thể tái tạo trí thông minh chung, giống như con người trong phát triển bot. Vậy làm thế nào để một mạng lưới thần kinh và kỹ thuật học máy giúp chúng ta giải quyết vấn đề nhận dạng chó?
Chà, thay vì xác định thủ công các thuộc tính giống chó, thuật toán mạng nơ-ron sâu có thể xác định các thuộc tính quan trọng và xử lý tất cả các trường hợp đặc biệt mà không cần lập trình.
Mạng nơ-ron sâu hoạt động như thế nào?
Nó thực hiện điều này như sau:
Mỗi tế bào thần kinh trên lớp đầu vào nhận được một chút thông tin từ hình ảnh dưới dạng đầu vào và sau đó cân nhắc ngẫu nhiên (từ 0 đến một) cho dù thông tin đó có gợi ý một hay không. Trọng lượng thấp (dưới 0,5) có nghĩa là ít có khả năng thông tin được liên kết với một và trọng lượng cao có nghĩa là nhiều khả năng thông tin được liên kết với một. Cách tiếp cận mạng nơ-ron đa lớp này được gọi là học sâu. Mạng nơ-ron và học sâu là những kỹ thuật rất mạnh mẽ để đạt được sự hiểu biết về máy tính.
Mạng lưới thần kinh sâu bao gồm nhiều lớp nút hoạt động giống như tế bào thần kinh trong não của chúng ta
Vì vậy, để tiếp tục trên các mạng lưới thần kinh sâu, trọng lượng của các tế bào thần kinh này sau đó được đưa vào làm đầu vào vào các lớp tế bào thần kinh khác cũng chỉ định ngẫu nhiên trọng lượng và truyền chúng làm đầu vào cho nhiều tế bào thần kinh hơn trong mạng. Điều này tiếp tục cho đến khi lớp đầu ra của tế bào thần kinh đưa ra phán quyết nhị phân. Nếu trung bình của trọng lượng được truyền cho chúng lớn hơn 0,5, thì đó là một nếu không thì không. Những kết nối giữa và kích hoạt các tế bào thần kinh trên nhiều lớp nút là những gì cung cấp cho các ứng dụng mạng thần kinh sâu sức mạnh của chúng.
Làm thế nào để một mạng lưới thần kinh sâu biết nếu nó tạo ra câu trả lời đúng?
Các câu hỏi liên quan tại thời điểm này là: mạng nơ-ron sâu có đoán đúng hay không và điều gì sẽ xảy ra nếu nó có hoặc chưa đoán đúng? Và làm thế nào để một mạng lưới thần kinh biết liệu nó có được đoán đúng hay không?
Một cách để biết là nếu bạn thực hiện nhiệm vụ phân loại cực kỳ tốn thời gian là dán nhãn tất cả các bức ảnh là "chó" hoặc "không phải chó" tùy thuộc vào việc có một trong ảnh hay không. Mạng lưới thần kinh sẽ chỉ đơn giản nhìn vào nhãn để xem nó có xác định chính xác hay không.
Và tất nhiên chúng tôi không quan tâm đến việc liệu nó có câu hỏi "Chó hay không" ngay trên một bức tranh về một. Chúng tôi quan tâm đến việc liệu nó có câu hỏi phù hợp với mọi bức ảnh hay không, hoặc ít nhất là để tìm ra tỷ lệ phần trăm thời gian chính xác trong việc đánh giá xem có một hay không trong ảnh.
Mạng nơ-ron sâu sử dụng đào tạo để học như thế nào?
Một mạng lưới thần kinh học hỏi từ mỗi lần lặp lại thông qua dữ liệu để cải thiện độ chính xác của nó
Đối với một tập hợp trọng số nhất định trên tất cả các tế bào thần kinh trong mạng, mạng lưới thần kinh sẽ đưa ra dự đoán cho tất cả các bức ảnh và sau đó xác định mức độ chính xác của nó. Bao nhiêu phần trăm thời gian nó nhận được kết quả đúng, tức là nói rằng đã ở trong bức ảnh khi nó ở trong ảnh, và bao nhiêu lần nó nhận được kết quả sai, nói rằng ở trong ảnh khi nó không có hoặc nói rằng không có trong ảnh khi nó ở đó. Dấu hiệu này cho thấy thuật toán AI chính xác như thế nào là phản hồi cần thiết cho mô hình mạng nơ-ron.
Khi nó đã chạy qua tất cả các bức ảnh một lần, nó có thể ngẫu nhiên (hoặc cách khác) điều chỉnh một số trọng lượng và sau đó thực hiện toàn bộ bài tập đoán lại những gì trong ảnh. Nếu kết quả từ lần chạy thứ hai tốt hơn, nó sẽ giữ lại thay vì quay trở lại bộ trọng lượng trước đó. Nếu kết quả từ lần chạy thứ hai tồi tệ hơn, nó có thể trở lại bộ trọng lượng trước đó và sau đó thử các sửa đổi khác nhau đối với các trọng lượng đó.
Quá trình này sẽ tiếp tục theo cách này cho đến khi mạng lưới thần kinh trở nên tốt trong việc xác định chó trong ảnh (hy vọng).
Khi thuật toán có thể xác định chính xác chó, nó được cho là đã hội tụ. Nó đã được "huấn luyện" thành công để xác định chó.
Các loại mạng nơ-ron khác nhau là gì?
Mạng nơ-ron tích chập
Mạng nơ-ron tích chập (CNN) là một loại trí tuệ nhân tạo được thiết kế để xử lý hoặc học hỏi từ các tập dữ liệu lớn. Mạng nơ-ron tích chập là một thuật ngữ mới được đặt ra mô tả cụ thể loại mạng này, hoặc công nghệ AI nói chung.
CNN là công cụ AI nhận dạng hình ảnh mạnh mẽ sử dụng học sâu để thực hiện không chỉ các tác vụ tạo mà còn cả các nhiệm vụ mô tả. Ví dụ về các tác vụ tổng quát bao gồm tự động cắt xén, viết chú thích, quay phim, mimeograph và lớp phủ hình ảnh. Một mạng lưới thần kinh tích chập chứa những gì được gọi là các lớp tích chập. Mỗi tế bào thần kinh trong các lớp này chỉ xử lý thông tin từ một phần nhỏ của trường thị giác. Đầu vào của mỗi tế bào thần kinh được xếp theo kiểu tổng kiểm tra để tạo ra một bản đồ tính năng.
Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (ANN) là một mạng lưới gồm nhiều perceptron ở các độ sâu hoặc lớp khác nhau có thể được hiểu là Hồi quy logistic. ANN thường được gọi là Feed Forward Neural Network vì đầu vào chỉ được xử lý theo hướng chuyển tiếp: một lớp nhận đầu vào và gửi đầu ra theo kiểu tuyến tính.
Mạng nơ-ron nhân tạo còn được gọi là xấp xỉ hàm phổ quát. Các thuật toán mạng nơ-ron thuần túy như ANN và các hàm ánh xạ có thể được triển khai dưới dạng học sâu cho phép máy tính học bất kỳ chức năng nào. Một trong những lý do tại sao xấp xỉ phổ quát lại quan trọng là chức năng kích hoạt. Các chức năng kích hoạt giới thiệu các thuộc tính phi tuyến vào mạng trong khi tìm hiểu bất kỳ mối quan hệ phức tạp nào giữa đầu vào và đầu ra. Nó giúp các loại mạng khác nhau học hỏi lẫn nhau.
Làm thế nào để một mạng lưới thần kinh sâu cải thiện theo thời gian?
Một cách để tưởng tượng những gì thuật toán đang làm là tưởng tượng mỗi tế bào thần kinh như một loại kiểm tra chắc chắn. Thay vì mã hóa tất cả các câu lệnh nếu-thì để xác định chó, mỗi tế bào thần kinh được hiệu chỉnh để thêm hoặc lấy đi phán đoán cuối cùng rằng đối tượng trong ảnh là một. Như thể phán quyết (chẳng hạn như hay không) được chia thành một số lượng lớn các phán quyết được kết nối góp phần tổng hợp vào phán quyết cuối cùng.
Tất nhiên, mục tiêu chính là đạt được sự hội tụ nếu điều đó là có thể. Đó cũng là một mục tiêu quan trọng để làm điều này trong một khoảng thời gian hợp lý, tốt nhất là trong một thời gian ngắn.
Các thuật toán học sâu có một quá trình học tập khiến chúng khó hiểu đối với con người
Điều thú vị là logic cho phép mạng lưới thần kinh xác định những trong hình không phải là con người hiểu được. Các mô hình học sâu có logic ẩn, về cơ bản là một hộp đen gồm các lớp nút ẩn tạo ra mạng sâu của riêng nó. Điều đó nói rằng, đã có một số nỗ lực để cố gắng thể hiện trực quan logic đằng sau các mạng thần kinh cho các nhiệm vụ nhận dạng hình ảnh. Đối với các trường hợp khác, không thể thấy thuật toán đang làm gì đằng sau hậu trường và các phương pháp học sâu vẫn bị ẩn.
Mạng nơ-ron và học máy rất phổ biến hiện nay nhưng nhiều thuật toán trong số này đã được biết đến khoảng 50 năm trước.
Tại sao mạng nơ-ron sâu ngày càng phổ biến trong các ngành công nghiệp khác nhau?
Một trong những lý do chính khiến mạng lưới thần kinh hiện nay phổ biến hơn nhiều so với khi chúng được phát minh lần đầu tiên, là sức mạnh xử lý nhanh hơn và rẻ hơn so với trước đây. Sức mạnh tính toán đã tạo ra tất cả sự khác biệt trong việc đạt được sự hội tụ nhanh. Lý do khác là dữ liệu hiện có mặt khắp nơi, làm tăng giá trị của các thuật toán có thể sử dụng dữ liệu như chatbots Dành cho doanh nghiệp
Mạng nơ-ron tiên tiến đòi hỏi sức mạnh xử lý cao và nhiều dữ liệu
Mạng nơ-ron học sâu là các kỹ thuật đói dữ liệu và bộ xử lý có thể đạt được kết quả mà các lập trình viên sử dụng các kỹ thuật lập trình không thể đạt được. Chúng lý tưởng phù hợp với một số vấn đề nhất định nơi dữ liệu phổ biến có sẵn và dễ dàng phân loại hoặc xếp hạng các kết quả thích hợp.
Nếu không có hàng trăm nghìn, hoặc tốt nhất là hàng triệu bức ảnh về chó, sẽ không thể đào tạo thuật toán. Những kỹ thuật này chỉ hoạt động khi có nhiều dữ liệu. Điều này khá rõ ràng vì tất cả các trường hợp đặc biệt khó có thể được thể hiện trong một bộ chỉ 1000 bức ảnh.
Mạng nơ-ron có thể phải đối mặt với dữ liệu có cấu trúc hoặc dữ liệu phi cấu trúc
Một vấn đề trong ví dụ trên là nhiều công việc thủ công có liên quan đến việc dán nhãn tất cả các bức ảnh. Các thuật toán sẽ dễ dàng sử dụng dữ liệu được gắn nhãn theo cách có cấu trúc. Học máy mạng nơ-ron sử dụng dữ liệu có cấu trúc được gọi là học có giám sát.
Điều này đưa chúng ta đến một câu hỏi trung tâm: có thể tránh tất cả công việc gắn thẻ đó không? Điều đó sẽ tốt bởi vì bạn không chỉ có thể tránh được rất nhiều công việc thủ công mà hầu hết các dữ liệu có sẵn trên internet là không có cấu trúc, tức là không được dán nhãn hoặc cấu trúc cẩn thận.
Mạng nơ-ron có thể hoạt động với dữ liệu phi cấu trúc không?
Mạng nơ-ron nhân tạo và học máy hoạt động với dữ liệu phi cấu trúc được gọi là học không giám sát. Tất nhiên, đây là chén thánh của học máy và tương tự như cách con người học. Tuy nhiên, ngay cả việc học không giám sát bằng máy móc cũng đòi hỏi nhiều dữ liệu hơn để "học" so với con người và máy móc không thể dễ dàng ngoại suy cho các ví dụ nằm ngoài những gì chúng đã được đào tạo.
Nhiều mô hình học sâu cố gắng tái tạo các quá trình não người
Một số người tin rằng các loại thuật toán này có thể được phát triển, có lẽ bằng cách tái thiết kế bộ não, đến mức các thuật toán bắt đầu tiếp cận "sự hiểu biết" ở cấp độ con người. Họ tin rằng sẽ có thể sử dụng công nghệ quét tinh vi của não để cung cấp cho chúng ta cái nhìn sâu sắc về cách các mạng lưới thần kinh của não thực sự hoạt động. Bằng cách sao chép các thiết kế và mẫu này, chúng ta có thể tái tạo trí thông minh ở cấp độ con người.
Mặc dù các kỹ thuật này chắc chắn là khéo léo và rất hữu ích, đặc biệt là khi có sẵn một tập dữ liệu lớn, thật khó để tưởng tượng rằng các thuật toán đơn giản như vậy có thể là nền tảng của trí thông minh giống như con người rất sáng tạo.
Mục lục
Cập nhật thông tin mới nhất về các tác nhân AI
Chia sẻ điều này trên: