Download app

Quét mã QR để tải về ứng dụng

QR code

Convolutional Neural Network là gì?

27/09/2021, 03:36 pm
3,067

Convolutional Neural Network (CNN) đang là một trong những câu hỏi được tìm kiếm nhiều nhất hiện nay. Nếu bạn đang có ý định muốn thử sức trong lĩnh vực này thì đừng bỏ qua những kiến thức mà Nhân Hòa chia sẻ trong bài viết sau đây.

1. Convolutional Neural Network (CNN) là gì?

Convolutional Neural Network hay còn được viết tắt là CNN, trong tiếng Việt được gọi là mạng nơ-ron tích chập, là một trong những mô hình Deep Learning tiên tiến và hiện đại nhất hiện nay. Nhờ có CNN mà chúng ta có thể dễ dàng tạo dựng hệ thống mạng thông minh và có độ chính xác cao.

Convolutional Neural Network (CNN) là gì?

Convolutional Neural Network được sử dụng nhiều trong các bài toán nhận dạng các object trong ảnh. Để tìm hiểu tại sao thuật toán này được sử dụng rộng rãi cho việc nhận dạng (detection), chúng ta hãy cùng tìm hiểu về thuật toán này.

>>> Xem thêm: Các trang mạng xã hội lớn nhất - Digital marketing hiệu quả cao 

2. Convolutional là gì?

Là một cửa sổ trượt (Sliding Windows) trên một ma trận mô tả như hình

Các convolutional layer có các parameter(kernel) đã được học để tự điều chỉnh lấy ra những thông tin chính xác nhất mà không cần chọn các feature.

Trong hình ảnh ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được số hóa. Ma trận có kích thước 5×5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm của dòng và cột.

Convolution hay tích chập là nhân từng phần tử trong ma trận 3. Sliding Window hay còn gọi là kernel, filter hoặc feature detect là một ma trận có kích thước nhỏ như trong ví dụ trên là 3×3.

Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3×3 với ma trận bên trái. Kết quả được một ma trận gọi là Convoled feature được sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5×5 bên trái.

3. Cấu trúc của Convolutional Neural Network

Mạng CNN gồm nhiều lớp Convolution chồng lên nhau, sử dụng các hàm và tanh để kích hoạt các trọng số. Mỗi một lớp sau khi được kích hoạt sẽ cho ra kết quả trừu tượng cho các lớp tiếp theo. Mỗi layer kế tiếp chính là thể hiện kết quả của layer trước đó. 

Thông qua quá trình training, các lớp layer CNN tự động học các giá trị được thể hiện qua các lớp filter.

Có 2 điều cần quan tâm ở mô hình CNN là tính bất biến và tính kết hợp. Trong trường hợp, cùng một đối tượng mà chiếu theo những góc khác nhau thì sẽ cho độ chính xác có sự bị ảnh hưởng.

Đối với phép dịch chuyển, quay và co dãn sẽ sử dụng pooling layer để sử dụng làm bất biến các tính chất kia. Vì vậy mà CNN đưa ra kết quả có độ chính xác cao ở các mô hình.

 

Cấu trúc của Convolutional Neural Network

Cấu trúc cơ bản của CNN gồm 3 phần chính: Local receptive field, shared weights and bias, pooling

- Local receptive field

Hay còn gọi là các trường cục bộ. Tác dụng của lớp này chính là nó giúp chúng ta tách lọc các dữ liệu, thông tin của ảnh và chọn được những vùng ảnh có giá trị sử dụng nhất

- Shared weights and bias 

Tiếng Việt có nghĩa là Trọng số chia sẻ. Làm giảm tối đa số lượng các tham số là tác dụng chính của yếu tố này trong mạng CNN hiện nay. Bởi trong mỗi convolution có những feature map khác nhau, mỗi feature map lại giúp detect một vài feature trong ảnh

- Pooling layer 

Lớp tổng hợp. Đây gần như là lớp cuối cùng trước khi cho ra kết quả. Vì vậy, để có được kết quả dễ hiểu và dễ dùng nhất thì pooling layer sẽ có tác dụng làm đơn giản hóa thông tin đầu ra.Tức là, sau khi hoàn tất các quá trình tính toán và quét các lớp thì sẽ đi đến pooling layer để giảm lược bớt những thông tin không cần thiết, sau đó cho ra kết quả  mà chúng ta mong muốn

>>> Xem thêm: 14+ Plugin chia sẻ mạng xã hội Wordpress miễn phí 

4. Nên lựa chọn tham số Convolutional Neural Network như thế nào?

Để lựa chọn được tham số phù hợp nhất cho CNN bạn cần chú ý đến các thông số như: filter size, pooling size, số convolution và việc train test

- Convolution test

Nếu lớp này có số lượng nhiều thì chương trình chạy của bạn lại càng được cải thiện. Sử dụng các layer với số lượng lớn có thể dẫn đến tác động được giảm một cách đáng kể. Thường chỉ sau 3-4 layer là bạn sẽ đạt được kết quả như mong muốn

- Filter size

Thông thường các filter size đều có kích thước là 3*3 hoặc 5*5

 

Nên lựa chọn tham số Convolutional Neural Network như thế nào?

- Pooling size

Với các hình ảnh thông thường thì bạn cần sử dụng kích thước 2*2. Tuy nhiên, nếu đầu vào có hình ảnh lớn hơn bạn nên sử dụng filter size 4*4

- Train test

Bạn cần thực hiện train test nhiều lần, như vậy mới cho ra được các parameter tốt nhất

Nhìn chung, thuật toán Convolutional Neural Network đem đến cho người dùng một mô hình chất lượng. Dù bản chất của nó không phải là một thuật toán quá đơn giản nhưng nó đem lại hiệu quả cao cho người dùng.

Tuy nhiên, đây là thuật toán khá khó hiểu và cần một khoảng thời gian nhất định để có thể ứng dụng nó một cách chính xác nhất.

>>> Xem thêm: Thuật toán Google peguin – chim cánh cụt 

5. Kết luận

Bài viết này đã giúp bạn hiểu rõ hơn về thuật ngữ Convolutional Neural Network là gì. Dù bản chất CNN là một thuật toán đơn giản nhưng nó tạo ra cho người dùng hình ảnh đạt mức độ hài lòng cao. Đừng quên truy cập website nhanhoa.com để đọc những bài blog chia sẻ hữu ích khác nhé!

+ Fanpage: https://www.facebook.com/nhanhoacom

+ Chỉ đường: https://g.page/nhanhoacom

+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html

————————————————————

CÔNG TY TNHH PHẦN MỀM NHÂN HÒA

https://nhanhoa.com

Hotline: 1900 6680

Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội

Tel: (024) 7308 6680 – Email: sales@nhanhoa.com

Chi nhánh TP. Hồ Chí Minh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM

Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com

Chi nhánh Vinh - Nghệ An: Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Tel: 0915221384 – Email: contact@nhanhoa.com

Bài viết liên quan
02/10/2024
Cloud và ảo hóa đang là hai công nghệ được ứng dụng rộng rãi trong lĩnh vực công nghệ thông tin. Hiểu rõ sự khác biệt...
01/10/2024
[CẬP NHẬT MỚI NHẤT] Top 10  nhà cung cấp dịch vụ thuê Cloud Server tốt nhất hiện nay Thị trường dịch vụ thuê Cloud Server...
27/09/2024
Với sự phát triển của công nghệ, việc gửi và nhận email đã trở nên quá quen thuộc. Tuy nhiên, không phải ai cũng hiểu...
Chuyên nghiệp và tận tình
Hỗ Trợ Trực Tuyến 24/7
Đội ngũ chuyên gia giúp xử lý vấn đề kỹ thuật để website của bạn luôn hoạt động tốt và chạy nhanh. Bất kỳ lúc nào.
Kết nối với Nhân Hoà

Map Tầng 4 - Toà nhà 97 - 99 Láng Hạ, Quận Đống Đa, Thành Phố Hà Nội

Phone Điện thoại: 1900 6680 - (024) 7308 6680

Mail Mail: sales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh

Phone Điện thoại: 1900 6680 - (028) 7308 6680

Mail Mail: hcmsales@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Map Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Phone Điện thoại: 1900 6680 - (024) 7308 6680 - nhánh 6

Mail Mail: contact@nhanhoa.com

Hotline Phản ánh chất lượng dịch vụ: 091 140 8966

Kết nối với Nhân Hoà
Gọi lại cho tôi
Gọi miễn phí
Gọi miễn phí
×
Thông báo

Đăng nhập thành công!