Mạng thần kinh hợp pháp (CNN): Giới thiệu

Spread the love

Mạng nơ-ron hợp hiến cung cấp một cách có thể mở rộng hơn cho các nhiệm vụ nhận dạng đối tượng và phân loại hình ảnh.

Có rất nhiều tiến bộ đang xảy ra trong thế giới công nghệ. Trí tuệ nhân tạo và máy học là một số phổ biến mà bạn có thể nghe thấy thường xuyên.

Hiện tại, những công nghệ này được sử dụng trong hầu hết các lĩnh vực, từ tiếp thị, Thương mại điện tử và phát triển phần mềm đến ngân hàng, tài chính và y học.

AI và ML là những lĩnh vực rộng lớn và đang nỗ lực mở rộng các ứng dụng của chúng để giải quyết nhiều vấn đề trong thế giới thực. Đây là lý do tại sao bạn có thể thấy rất nhiều nhánh bên trong những công nghệ này; ML là một tập hợp con của chính AI.

Mạng nơ-ron hợp hiến là một trong những nhánh của AI đang trở nên phổ biến ngày nay.

Trong bài viết này, tôi sẽ thảo luận về CNN là gì, cách chúng hoạt động và tính hữu ích của chúng trong thế giới hiện đại.

Hãy đi sâu vào ngay!

Mạng nơron hợp hiến là gì?

Mạng nơ-ron tích tụ (ConvNet hoặc CNN) là một mạng nơ-ron nhân tạo (ANN) sử dụng các thuật toán học sâu để phân tích hình ảnh, phân loại hình ảnh và thực hiện các tác vụ thị giác máy tính.

CNN tận dụng các nguyên tắc của đại số tuyến tính, chẳng hạn như phép nhân ma trận, để phát hiện các mẫu trong một hình ảnh. Vì các quy trình này liên quan đến các tính toán phức tạp, chúng yêu cầu các đơn vị xử lý đồ họa (GPU) để đào tạo các mô hình.

Nói một cách dễ hiểu, CNN sử dụng các thuật toán Deep Learning để lấy dữ liệu đầu vào như hình ảnh và gán tầm quan trọng dưới dạng thành kiến ​​và trọng số có thể học được cho các khía cạnh khác nhau của hình ảnh đó. Bằng cách này, CNN có thể phân biệt giữa các hình ảnh hoặc phân loại chúng.

CNN’s: Lược sử

Vì mạng nơ-ron hợp lệ là một mạng nơ-ron nhân tạo, nên điều quan trọng là phải nhắc lại các mạng nơ-ron.

Trong tính toán, mạng nơ-ron là một phần của máy học (ML) sử dụng các thuật toán học sâu. Nó tương tự như các mô hình kết nối theo sau bởi các tế bào thần kinh trong não người. Các mạng lưới thần kinh nhân tạo cũng lấy cảm hứng từ cách sắp xếp vỏ não thị giác.

Vì vậy, các loại mạng nơ-ron khác nhau hoặc mạng nơ-ron nhân tạo (ANN) được sử dụng cho các mục đích khác nhau. Một trong số đó là CNN được sử dụng để phát hiện và phân loại hình ảnh, v.v. Nó được giới thiệu bởi một nhà nghiên cứu sau tiến sĩ, Yann LeCun, vào những năm 1980.

Phiên bản đầu tiên của CNN – LeNet, được đặt theo tên LeCun, có khả năng nhận dạng các chữ số viết tay. Sau đó, nó được sử dụng trong các dịch vụ ngân hàng và bưu chính để đọc các chữ số trên séc và mã zip được viết trên phong bì.

Tuy nhiên, phiên bản đầu tiên này thiếu quy mô; do đó, CNN không được sử dụng nhiều trong trí tuệ nhân tạo và thị giác máy tính. Ngoài ra, nó yêu cầu tài nguyên tính toán và dữ liệu đáng kể để hoạt động hiệu quả hơn cho hình ảnh lớn hơn.

Hơn nữa, vào năm 2012, AlexNet đã xem xét lại học sâu sử dụng mạng thần kinh bao gồm nhiều lớp. Vào khoảng thời gian này, công nghệ được cải thiện và các bộ dữ liệu lớn và tài nguyên máy tính nặng đã có sẵn để cho phép tạo ra các CNN phức tạp có khả năng thực hiện các hoạt động thị giác máy tính một cách hiệu quả.

Các lớp trong CNN

Hãy hiểu các lớp khác nhau trong CNN. Việc tăng các lớp trong CNN sẽ làm tăng độ phức tạp của nó và cho phép nó phát hiện nhiều khía cạnh hoặc khu vực hơn của hình ảnh. Bắt đầu với một tính năng đơn giản, nó có khả năng phát hiện các đặc điểm phức tạp như hình dạng của đối tượng và các phần tử lớn hơn cho đến khi cuối cùng nó có thể phát hiện ra hình ảnh.

Lớp chuyển đổi

Lớp đầu tiên của CNN là lớp chập. Đây là khối xây dựng chính của CNN, nơi hầu hết các tính toán xảy ra. Nó cần ít thành phần hơn, chẳng hạn như dữ liệu đầu vào, bản đồ tính năng và bộ lọc.

  Cách thêm người dùng vào bảng Jira

CNN cũng có thể có các lớp phức hợp bổ sung. Điều này làm cho cấu trúc CNN có thứ bậc vì các lớp tiếp theo có thể trực quan hóa các pixel trong các trường tiếp nhận của các lớp trước. Tiếp theo, các lớp tích chập chuyển đổi hình ảnh đã cho thành các giá trị số và cho phép mạng hiểu và trích xuất các mẫu có giá trị.

Nhóm các lớp

Các lớp gộp được sử dụng để giảm kích thước và được gọi là lấy mẫu xuống. Nó làm giảm các tham số được sử dụng trong đầu vào. Thao tác gộp có thể di chuyển một bộ lọc qua đầu vào hoàn chỉnh như lớp chập nhưng thiếu trọng số. Ở đây, bộ lọc áp dụng một hàm chung cho các giá trị số trong trường tiếp nhận để điền vào mảng kết quả.

Tổng hợp có hai loại:

  • Tổng hợp trung bình: Giá trị trung bình được tính trong trường tiếp nhận mà bộ lọc quét qua đầu vào để truyền đến mảng đầu ra.
  • Tổng hợp tối đa: Nó chọn pixel giá trị lớn nhất và gửi nó đến mảng đầu ra khi bộ lọc quét qua đầu vào. Tổng hợp tối đa được sử dụng nhiều hơn tổng hợp trung bình.

Mặc dù dữ liệu đáng kể bị mất trong quá trình gộp, nó vẫn mang lại nhiều lợi ích cho CNN. Nó giúp giảm rủi ro và sự phức tạp quá mức trong khi cải thiện hiệu quả. Nó cũng tăng cường sự ổn định của CNN.

Lớp kết nối hoàn toàn (FC)

Như tên cho thấy, tất cả các nút trong một lớp đầu ra được kết nối trực tiếp với nút của lớp trước đó trong một lớp được kết nối đầy đủ. Nó phân loại một hình ảnh dựa trên các tính năng được trích xuất qua các lớp trước đó cùng với các bộ lọc của chúng.

Hơn nữa, các lớp FC thường sử dụng chức năng kích hoạt softmax để phân loại đầu vào một cách chính xác thay vì các chức năng ReLu (như trong trường hợp các lớp gộp và lớp chập). Điều này giúp tạo ra xác suất là 0 hoặc 1.

CNN hoạt động như thế nào?

Một mạng nơ-ron tích tụ bao gồm nhiều lớp, thậm chí hàng trăm lớp. Các lớp này học cách xác định các đặc điểm khác nhau của một hình ảnh nhất định.

Mặc dù CNN là mạng nơ-ron, nhưng kiến ​​trúc của chúng khác với ANN thông thường.

Loại thứ hai đặt một đầu vào qua nhiều lớp ẩn để biến đổi nó, trong đó mỗi lớp được tạo ra với một tập hợp các nơ-ron nhân tạo và được kết nối đầy đủ với mọi nơ-ron trong cùng một lớp. Cuối cùng, có một lớp được kết nối đầy đủ hoặc lớp đầu ra để hiển thị kết quả.

Mặt khác, CNN tổ chức các lớp theo ba chiều – chiều rộng, chiều sâu và chiều cao. Ở đây, một lớp từ tế bào thần kinh chỉ kết nối với các tế bào thần kinh trong một vùng nhỏ thay vì liên quan đến từng tế bào trong số chúng ở lớp tiếp theo. Cuối cùng, kết quả cuối cùng được biểu diễn bằng một vectơ duy nhất có điểm xác suất và chỉ có kích thước chiều sâu.

Bây giờ, bạn có thể hỏi “tích chập” là gì trong CNN.

Chà, tích chập đề cập đến một phép toán để hợp nhất hai tập dữ liệu. Trong CNN, khái niệm tích chập được áp dụng cho dữ liệu đầu vào để tạo ra một bản đồ đặc trưng bằng cách lọc thông tin.

Điều này đưa chúng ta đến một số khái niệm và thuật ngữ quan trọng được sử dụng trong CNN.

  • Bộ lọc: Còn được gọi là bộ phát hiện tính năng hoặc hạt nhân, bộ lọc có thể có một kích thước nhất định, chẳng hạn như 3 × 3. Nó đi qua một hình ảnh đầu vào để thực hiện phép nhân ma trận cho từng phần tử để áp dụng tích chập. Việc áp dụng các bộ lọc cho mọi hình ảnh đào tạo ở các độ phân giải khác nhau cộng với đầu ra của hình ảnh biến đổi sẽ hoạt động như một đầu vào cho lớp tiếp theo.
  • Padding: Nó được sử dụng để mở rộng ma trận đầu vào đến đường viền của ma trận bằng cách chèn các pixel giả. Nó được thực hiện để chống lại thực tế rằng tích chập làm giảm kích thước ma trận. Ví dụ: ma trận 9 × 9 có thể chuyển thành ma trận 3 × 3 sau khi lọc.
  • Sải chân: Nếu bạn muốn nhận được đầu ra nhỏ hơn đầu vào của mình, bạn có thể thực hiện sải chân. Nó cho phép bỏ qua các khu vực nhất định trong khi bộ lọc trượt qua hình ảnh. Bằng cách bỏ qua hai hoặc ba pixel, bạn có thể tạo ra một mạng hiệu quả hơn bằng cách giảm độ phân giải không gian.
  • Trọng số và thành kiến: CNN có trọng số và thành kiến ​​trong tế bào thần kinh của chúng. Một mô hình có thể học các giá trị đó trong khi huấn luyện và các giá trị vẫn giữ nguyên trong suốt một lớp nhất định cho tất cả các nơ-ron. Điều này ngụ ý rằng mỗi tế bào thần kinh ẩn sẽ phát hiện các đặc điểm giống nhau trong các khu vực khác nhau của hình ảnh. Kết quả là, mạng trở nên dễ chịu hơn trong khi dịch các đối tượng thành một hình ảnh nhất định.
  • ReLU: nó là viết tắt của Rectified Linear Unit (ReLu) và được sử dụng để luyện tập hiệu quả hơn và nhanh hơn. Nó ánh xạ các giá trị âm đến 0 và duy trì các giá trị dương. Nó còn được gọi là kích hoạt, vì mạng chỉ mang các tính năng hình ảnh đã được kích hoạt vào lớp tiếp theo.
  • Trường tiếp nhận: Trong mạng nơ-ron, mọi nơ-ron nhận đầu vào từ các vị trí khác nhau từ lớp trước. Và trong các lớp chập, mọi nơ-ron chỉ nhận đầu vào từ một vùng hạn chế của lớp trước, được gọi là trường tiếp nhận của nơ-ron. Trong trường hợp của lớp FC, toàn bộ lớp trước đó là trường tiếp nhận.
  Cách mở tệp Numbers trong Excel

Thông thường, trong các tác vụ tính toán trong thế giới thực, tích chập được thực hiện trong một hình ảnh 3D yêu cầu bộ lọc 3D.

Quay lại với CNN, nó bao gồm các phần hoặc các lớp nút khác nhau. Mỗi lớp nút có một ngưỡng và trọng số và được kết nối với một lớp khác. Khi vượt quá giới hạn ngưỡng, dữ liệu sẽ được gửi đến lớp tiếp theo trong mạng này.

Các lớp này có thể thực hiện các thao tác thay đổi dữ liệu để tìm hiểu các tính năng liên quan. Ngoài ra, các thao tác này lặp lại hàng trăm lớp khác nhau, tiếp tục học để phát hiện các đặc điểm khác của hình ảnh.

Các phần của CNN là:

  • Lớp đầu vào: Đây là nơi đầu vào được lấy, chẳng hạn như hình ảnh. Nó sẽ là một đối tượng 3D với chiều cao, chiều rộng và chiều sâu xác định.
  • Một / nhiều lớp ẩn hoặc giai đoạn trích xuất tính năng: các lớp này có thể là một lớp phức hợp, lớp gộp và lớp được kết nối đầy đủ.
  • Một lớp đầu ra: Tại đây, kết quả sẽ được hiển thị.

Chuyển hình ảnh qua lớp chập được chuyển thành bản đồ đặc trưng hoặc bản đồ kích hoạt. Sau khi xoay đầu vào, các lớp sẽ xoay hình ảnh và chuyển kết quả cho lớp tiếp theo.

CNN sẽ thực hiện nhiều kỹ thuật phức hợp và tổng hợp để phát hiện các đối tượng trong giai đoạn trích xuất đối tượng. Ví dụ: nếu bạn nhập hình ảnh của một con mèo, CNN sẽ nhận ra bốn chân, màu sắc, hai mắt, v.v. của nó.

Tiếp theo, các lớp được kết nối đầy đủ trong CNN sẽ hoạt động như một bộ phân loại đối với các tính năng được trích xuất. Dựa trên những gì thuật toán học sâu đã dự đoán về hình ảnh, các lớp sẽ mang lại kết quả.

Ưu điểm của CNN

Độ chính xác cao hơn

CNN cung cấp độ chính xác cao hơn so với các mạng nơ-ron thông thường không sử dụng tích chập. CNN rất hữu ích, đặc biệt khi nhiệm vụ liên quan đến nhiều dữ liệu, nhận dạng video và hình ảnh, v.v. Chúng tạo ra kết quả và dự đoán chính xác cao; do đó, việc sử dụng chúng ngày càng tăng trong các lĩnh vực khác nhau.

Hiệu quả tính toán

CNN cung cấp mức hiệu quả tính toán cao hơn so với các mạng nơ-ron thông thường khác. Điều này là do sử dụng quá trình tích chập. Họ cũng sử dụng giảm kích thước và chia sẻ tham số để làm cho các mô hình triển khai nhanh hơn và dễ dàng hơn. Các kỹ thuật này cũng có thể được tối ưu hóa để hoạt động trên các thiết bị khác nhau, có thể là điện thoại thông minh hoặc máy tính xách tay của bạn.

Khai thác tính năng

CNN có thể dễ dàng tìm hiểu các tính năng của hình ảnh mà không yêu cầu kỹ thuật thủ công. Bạn có thể tận dụng các CNN đã được đào tạo trước và quản lý trọng lượng bằng cách cung cấp dữ liệu cho chúng khi thực hiện một nhiệm vụ mới và CNN sẽ thích ứng với nó một cách liền mạch.

Các ứng dụng của CNN

CNN được sử dụng trong các ngành công nghiệp khác nhau cho nhiều trường hợp sử dụng. Một số ứng dụng trong đời thực của CNN bao gồm:

Phân loại hình ảnh

CNN được sử dụng rộng rãi trong phân loại hình ảnh. Chúng có thể nhận ra các đặc điểm có giá trị và xác định các đối tượng trong một hình ảnh nhất định. Do đó, nó được sử dụng trong các lĩnh vực như chăm sóc sức khỏe, đặc biệt là MRI. Ngoài ra, công nghệ này được sử dụng trong nhận dạng chữ số viết tay, là một trong những trường hợp sử dụng CNN sớm nhất trong thị giác máy tính.

  Nhồi thông tin xác thực là gì? (và Cách bảo vệ bản thân)

Phát hiện đối tượng

CNN có thể phát hiện các đối tượng trong hình ảnh trong thời gian thực và cũng có thể gắn nhãn và phân loại chúng. Do đó, kỹ thuật này được sử dụng rộng rãi trên các phương tiện tự động. Nó cũng cho phép các ngôi nhà thông minh và người đi bộ nhận ra khuôn mặt của chủ sở hữu phương tiện. Nó cũng được sử dụng trong các hệ thống giám sát do AI hỗ trợ để phát hiện và đánh dấu các đối tượng.

Kết hợp Nghe nhìn

Sự trợ giúp của CNN trong việc đối sánh nghe nhìn giúp cải thiện các nền tảng phát trực tuyến video như Netflix, YouTube, v.v. Nó cũng giúp đáp ứng các yêu cầu của người dùng như “các bài hát tình yêu của Elton John”.

Nhận dạng giọng nói

Bên cạnh hình ảnh, CNN còn hữu ích trong việc xử lý ngôn ngữ tự nhiên (NLP) và nhận dạng giọng nói. Một ví dụ thực tế về điều này có thể là Google sử dụng CNN trong hệ thống nhận dạng giọng nói của mình.

Tái tạo đối tượng

CNN có thể được sử dụng trong mô hình 3D một đối tượng thực trong môi trường kỹ thuật số. Các mô hình CNN cũng có thể tạo mô hình khuôn mặt 3D bằng hình ảnh. Ngoài ra, CNN rất hữu ích trong việc xây dựng các cặp song sinh kỹ thuật số trong công nghệ sinh học, sản xuất, công nghệ sinh học và kiến ​​trúc.

Việc sử dụng CNN trong các lĩnh vực khác nhau bao gồm:

  • Chăm sóc sức khỏe: Thị giác máy tính có thể được sử dụng trong X quang để giúp các bác sĩ phát hiện các khối u ung thư ở người một cách hiệu quả hơn.
  • Nông nghiệp: Các mạng có thể sử dụng hình ảnh từ các vệ tinh nhân tạo như LSAT và tận dụng dữ liệu này để phân loại các vùng đất màu mỡ. Điều này cũng giúp dự đoán mức độ phì nhiêu của đất và phát triển một chiến lược hiệu quả để tối đa hóa sản lượng.
  • Tiếp thị: Các ứng dụng truyền thông xã hội có thể đề xuất một người trong ảnh được đăng trên hồ sơ của ai đó. Điều này giúp bạn gắn thẻ những người trong album ảnh của bạn.
  • Bán lẻ: Nền tảng thương mại điện tử có thể sử dụng tìm kiếm trực quan để giúp các thương hiệu giới thiệu các mặt hàng có liên quan mà khách hàng mục tiêu muốn mua.
  • Ô tô: CNN phát hiện việc sử dụng ô tô để cải thiện sự an toàn của hành khách và người lái xe. Nó làm được điều đó với sự trợ giúp của các tính năng như phát hiện làn đường, phát hiện đối tượng, phân loại hình ảnh, v.v. Điều này cũng giúp thế giới xe tự lái phát triển hơn.

Tài nguyên để tìm hiểu CNN

Coursera:

Coursera có khóa học này trên CNN mà bạn có thể cân nhắc tham gia. Khóa học này sẽ cho bạn biết tầm nhìn máy tính đã phát triển như thế nào trong những năm qua và một số ứng dụng của CNN trong thế giới hiện đại.

Amazon:

Bạn có thể đọc những cuốn sách và bài giảng này để tìm hiểu thêm về CNN:

  • Mạng thần kinh và Học sâu: Nó bao gồm các mô hình, thuật toán và lý thuyết về học sâu và mạng thần kinh.
  • Hướng dẫn về Mạng Neural Hợp pháp cho Thị giác Máy tính: Cuốn sách này sẽ dạy cho bạn các ứng dụng của CNN và các khái niệm của chúng.
  • Thực hành Mạng thần kinh hợp pháp với Tensorflow: Bạn có thể giải quyết các vấn đề khác nhau trong thị giác máy tính bằng cách sử dụng Python và TensorFlow với sự trợ giúp của cuốn sách này.
  • Học sâu ứng dụng nâng cao: Cuốn sách này sẽ giúp bạn hiểu CNN, học sâu và các ứng dụng nâng cao của chúng, bao gồm cả phát hiện đối tượng.
  • Mạng Nơ-ron hợp pháp và Mạng Nơ-ron định kỳ: Cuốn sách này sẽ dạy bạn về CNN và RNN cũng như cách xây dựng những mạng này.

Sự kết luận

Mạng nơ-ron hợp hiến là một trong những lĩnh vực mới nổi của trí tuệ nhân tạo, máy học và học sâu. Nó có nhiều ứng dụng khác nhau trong thế giới ngày nay trong hầu hết các lĩnh vực. Nhìn vào việc sử dụng ngày càng tăng của nó, nó được kỳ vọng sẽ mở rộng hơn và hữu ích hơn trong việc giải quyết các vấn đề trong thế giới thực.

x