Bài viết Convolutional Neural Network Là Gì thuộc chủ đề về giải đáp thắc mắt đang được rất nhiều bạn lưu tâm đúng không nào !! Hôm nay, Hãy cùng hocviencanboxd.edu.vn tìm hiểu Convolutional Neural Network Là Gì trong bài viết hôm nay nha !
Các bạn đang xem nội dung : “Convolutional Neural Network Là Gì”

Chúng ta đã được tìm hiểu thông tin về mạng neural nhân tạo trong bài này. Nếu như đầu vào của chúng ta là 1 bức hình 30*30*3 pixel, thì lớp input của neural network sẽ là 30*30*3 neural. Số lượng neural này vẫn tạm chấp nhận được cho quy trình training vì chi phí tính toán cũng chưa phải là lớn lắm. Nhưng nếu đầu vào của chúng ta là bức hình 1000*1000*3, thì số lượng neural lúc này cực kì lớn và quy trình tính toán sẽ chậm đi rất nhiều, cùng lúc ấy mạng phức tạp sẽ dễ kéo theo overfitting.Mặt khác, với đối tượng đầu vào là bức hình, thì các pixel gần nhau hợp lại sẽ mang những thông tin hữu ích, nhưng neural network thì không khai thác được đặc điểm này. vì thế, có một mạng neural mới, được người ta thống kê sáng tạo ra: đó là convolutional neural network (CNN).Vậy CNN khác với ANN như thế nào? Hiểu một cách nôm na thì CNN không đọc từng pixel riêng lẻ như ANN, mà nó sẽ đọc 1 loạt các pixel gần nhau để đưa vào tính toán. Nhưng để hiểu rõ hơn về cách vận hành của CNN, chúng ta phải đi vào tìm hiểu từng thành phần cấu tạo nên mạng CNN mới rõ đc. Ở đây chúng ta sẽ tìm hiểu các khái niệm mới như Convolutional Layer, Pooling Layer.Bạn đang xem: Convolutional neural network là gì

Convolutional Layer:

Convolutional Layer là 1 lớp cực kì quan trọng trong CNN, nó đảm nhận hầu hết chức năng tính toán của mạng.

*

Để giải thích về Convolutional Layer, mình sẽ đi thẳng trực tiếp vào ví dụ để giải thích cho trực quan.Đầu tiên là khái niệm filter map: thay vì kết nối với từng pixel của hình ảnh đầu vào như ANN, CNN có những tấm filter dùng để áp vào những vùng của bức hình. Các filter map này thực chất là một ma trận 3 chiều gồm các con số. Và điều bạn cần phải cực kì lưu ý là các con số này chính là các parameter cần phải học. Filter map có kích thước dài và rộng là hyperparameter ( hyperparameter là gì thì mình có nói trong bài này) , riêng chiều cao ( mình sẽ gọi là depth – chiều sâu ) của filter map sẽ bằng với depth của lớp trước.Ví dụ nhìn vào hình ví dụ ở trên, chúng ta có 2 filter map màu hồng là W0 và W1. Mỗi filter map có kích thước 3*3*3. Kích thước dài * rộng ( 3*3 ) là hyperparameter, còn chiều sâu (Depth) sẽ bằng với depth của input volumn, tức là bằng 3.Stride: như đã nói ở trên, filter map được dùng để trượt lên tấm hình đầu vào, vậy trượt ở đây có nghĩa là như thế nào? Rất đơn giản, chỉ cần dịch filter map theo pixel từ trái sang phải theo từng dòng. Mỗi lần dịch như thế sẽ dựa vào 1 tổng giá trị gọi là stride.Ví dụ, stride = 1, thì mỗi lần dịch filter map sẽ sang phải 1 pixel, khi hết cạnh biên phải thì xuống 1 dòng và dịch tiếp. Còn nếu stride = 2 thì mỗi lần dịch sẽ sang phải 2 pixel, khi hết cạnh thì xuống 2 dòng.

READ  Nicotine là gì
cảnh sát tiếng anh là gì
microsoft visual là gì
career là gì
quần thể sinh vật là gì
confess là gì
nhân viên kế toán tiếng anh là gì
powershell là gì
positive reinforcement là gì
roll out là gì

Padding: người ta sẽ thêm những tổng giá trị 0 bao quanh lớp input. Ví dụ như ở trên hình, lớp input của chúng ta ban đầu có kích thước 5*5*3, nhưng vì tổng giá trị padding = 1, nên được bao thêm 1 lớp 0 bên ngoài. Từ đó, kích thước của lớp input = 7*7*3.Feature map: feature map thực chất là kết quả sau khi lớp input được filter map quét qua hết. Với mỗi lần filter map áp lên input, sẽ có quy trình tính toán xảy ra. Vậy quy trình tính toán này là gì? Thực chất đó là quy trình nhân 2 ma trận.Ví dụ như trên hình, khi lớp trên cùng của filter map W0 áp vào lớp trên cùng của input volum, ma trận filtermap w0 3*3 sẽ được nhân với ma trận 3*3 của input sau đó cộng thêm bias=1, và đưa ra kết quả = 2 ở feature map. Kích thước feature map được tính như nào? Mỗi lần 1 filter map trượt hết lên input volum sẽ cho ra 1 lớp của feature map. Vậy nên, depth của feature map sẽ bằng số lượng filter map.Ví dụ như hình trên, depth của feature map = số lượng filter map = 2. Còn chiều dài và chiều rộng của feature map sẽ được tính bằng công thức: (W + 2P – F)/S +1 . Trong đó, W là kích thước input, P là padding, F là kích thước filter map, S là stride.Ví dụ với hình, W = 5, P =1, F = 3, S =1 , ta tính được kích thước của feature map là 3.Ta khả năng thấy được, nếu với ANN thông thường, 1 bức hình 7*7*3 như trên sẽ cần có 7*7*3 = 147 parameters (nếu lớp thứ 2 chỉ có 1 neural), nhưng với CNN lại cần ít hơn số parameter từ filter map và số lượng parameter này khả năng được chúng ta định lượng.

READ  Blob là gì?

Pooling layer

Thường giữa các lớp Convolutional Layer với nhau người ta sẽ chèn vào 1 lớp Pooling layer để giảm đi số lượng parameter lại nếu như đầu vào quá lớn. Có rất nhiều loại pooling layer, nhưng mình chỉ giới thiệu max pooling.

*

Ví dụ ở trên, lớp max pooling có kích thước là 2*2, stride = 2. Với mỗi lần áp lên input, nó sẽ lấy tổng giá trị lớn nhất trong khoảng filter đó và để nó vào output.

Xem thêm: Oppa Là Gì – Cách Gọi 오빠 /oppa/ Trong Tiếng Hàn

ReLU layer

Khái niệm về ReLU mình đã nói trong bài này rồi, các bạn quay lại để xem nhá. Thường thì sau khi feature map được tính ra, người ta sẽ xếp theo sau đó 1 lớp ReLU, lớp này sẽ áp dụng hàm ReLU lên tất cả các tổng giá trị của feature map.

Fully Connected Layer

Để đưa ra được kết quả dự đoán thì lớp Neural network sẽ được thêm vào sau một mang CNN. Lớp neural này cũng chỉ là ANN bình thường thôi chứ ko khác gì cả.Vậy một mạng CNN thông thường sẽ có cấu trúc các lớp như thế nào? Sau đây là ví dụ:

Chuyên mục: Hỏi Đáp

 

Các câu hỏi về Convolutional Neural Network Là Gì

Nếu có bắt kỳ câu hỏi thắc mắt nào vê Convolutional Neural Network Là Gì hãy cho chúng mình biết nha, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình nâng cao hơn hơn trong các bài sau nha <3

READ  Chịch là gì? chịch có nghĩa là gì?

Bài viết Convolutional Neural Network Là Gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết Convolutional Neural Network Là Gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share.
Nếu thấy bài viết Convolutional Neural Network Là Gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nha!!

 

Các Hình Ảnh Về Convolutional Neural Network Là Gì

Convolutional Neural Network Là Gì

Các từ khóa tìm kiếm cho bài viết #Convolutional #Neural #Network #Là #Gì

Tham khảo thêm thông tin về Convolutional Neural Network Là Gì tại WikiPedia

Bạn hãy tham khảo thêm thông tin chi tiết về Convolutional Neural Network Là Gì từ trang Wikipedia.◄

Tham Gia Cộng Đồng Tại

???? Nguồn Tin tại: http://hocviencanboxd.edu.vn/

???? Xem Thêm giải đáp thắc mắt tại : http://hocviencanboxd.edu.vn/hoi-dap/

Give a Comment