AI có mặt ở tất cả các ứng dụng thông minh như nhận dạng giọng nói của Apple, dịch tự động, search engine của Google, xe lái tự động của Tesla, … có thể nói AI đang là một trong những cô
TỔ NG QUAN
Đ Ặ T V ẤN ĐỀ
- Cơ sởhình thành đề tài:
Trong bài viết này, chúng tôi sẽ tóm tắt về xử lý ảnh và các phương pháp trích xuất đặc trưng Đồng thời, chúng tôi cũng sẽ đề cập đến mạng neuron tích chập và ứng dụng của nó trong bài toán phân loại đối tượng.
Hiện nay, sự phát triển của công nghiệp 4.0 và công nghệ thông tin, đặc biệt trong lĩnh vực Trí tuệ nhân tạo, đã dẫn đến nhiều ứng dụng thực tiễn như an ninh, bảo mật, và nhận dạng người qua bằng lái xe, hộ chiếu Công nghệ ngày càng tiên tiến được áp dụng trong các hệ thống tương tác người-máy, nhận dạng đối tượng, vân tay, và màu sắc, đặc biệt trong lĩnh vực giải trí Cách mạng công nghiệp 4.0 đã thúc đẩy nhu cầu ứng dụng Trí tuệ nhân tạo, mở ra nhiều phương pháp mới cho các nhà khoa học trong nghiên cứu và phát triển dự án.
Mặc dù ban đầu gặp nhiều khó khăn do mới tiếp xúc công nghệ, những kết quả đạt được trong giai đoạn đầu vẫn tạo động lực cho các công trình sau này Việc nhận dạng đối tượng không thể chính xác như các phương pháp khác như nhận dạng vân tay hay nhận dạng khuôn mặt, nhưng vẫn thu hút sự quan tâm lớn từ các nhà nghiên cứu trong lĩnh vực thị giác máy tính Lý do chính là nhận dạng đối tượng vẫn là phương pháp truyền thống để con người phát hiện và nhận diện các đối tượng.
Nhiều mô hình tính toán mô phỏng bộ não con người đã được nghiên cứu, trong đó mạng neuron đóng vai trò quan trọng Đề tài này áp dụng mạng neuron để giải quyết các bài toán như tối ưu hóa, nhận dạng đối tượng và điều khiển, với ứng dụng rộng rãi trong phát hiện và nhận dạng.
Mạng neuron nhân tạo bao gồm các đơn vị xử lý cơ bản gọi là neuron, truyền thông tin qua các kênh kết nối có trọng số Mỗi neuron nhận tín hiệu từ các neuron lân cận hoặc nguồn bên ngoài, tính toán tín hiệu ra và truyền cho các neuron khác Ngoài việc xử lý, neuron còn điều chỉnh các trọng số, cho phép thực hiện tính toán song song Do đó, tôi đã chọn đề tài “Nhận dạng ảnh xác định đối tượng của ảnh khi sử dụng mạng Neuron”, không chỉ có ý nghĩa khoa học mà còn mang tính thực tiễn cao trong bối cảnh hiện tại.
• Tìm hiểu bài toán phân loại dữ liệu nói chung và bài toán phân loại dữ ảnh trái cây nói riêng
• Nghiên cứu mô hình mạng neuron đa tầng, các thuật toán lan truyền tiến, lan truyền ngược để sử dụng và huấn luyện mạng neuron
• Nghiên cứu một số kiến trúc mạng neuron hiện đại giải quyết bài toán phân loại dữ liệu ảnh
Tiến hành xây dựng kiến trúc mô hình và thực nghiệm để đánh giá kết quả nhằm giải quyết bài toán phân loại ảnh trái cây.
G I Ớ I THI Ệ U TRÍ TU Ệ NHÂN T Ạ O VÀ H Ọ C MÁY
Trí tuệ nhân tạo (AI) là một lĩnh vực nghiên cứu trong Công nghệ thông tin và Khoa học máy tính, nhằm phát triển các hệ thống thông minh giải quyết các vấn đề thực tiễn tương tự như hoạt động của bộ não con người Bắt đầu từ những năm 50 của thế kỷ 20, AI đã thu hút sự quan tâm mạnh mẽ từ cộng đồng khoa học trong 30 năm qua, với nhiều hội thảo lớn được tổ chức hàng năm trên toàn thế giới Các ứng dụng nổi bật của trí tuệ nhân tạo trong đời sống xã hội bao gồm robot, xử lý ngôn ngữ tự nhiên, nhận dạng, phát hiện dị thường, an ninh quốc phòng, tin sinh học, và nghiên cứu khoa học vũ trụ và trái đất.
Trong luận văn Thạc sĩ của mình, tôi đã được trang bị kiến thức lý thuyết về thuật toán, xử lý ảnh và trí tuệ nhân tạo Tôi chọn đề tài nghiên cứu các phương pháp cơ bản trong nhận dạng và phát hiện một số loại trái cây thông dụng trong ảnh màu Phân lớp dữ liệu là một nhánh quan trọng trong học máy, với nhiều ứng dụng thực tiễn như robot, nhận dạng khuôn mặt, nhận dạng tiếng nói và chữ viết.
+ Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu
• Nghiên cứu mạng neuron đa tầng và mạng neuron tích chập
• Nghiên cứu bài toán phân lớp ảnh trái cây
• Tìm hiểu xây dựng kiến trúc và thực nghiệm mô hình mạng neuron tích chập để giải quyết bài toán phân lớp ảnh trái cây
- Lý thuyết: Nghiên cứu lý thuyết về xử lýảnh, Học máy, Deep Learning,
- Thực nghiệm: Lập trình trên phần mềm Python cho chương trình phân loại một số loại trái cây thông dụng trong ảnh
+ Phương pháp nghiên cứu
Thu thập và phân tích tài liệu cùng thông tin liên quan đến đề tài giúp tạo ra cái nhìn tổng quan về vấn đề Qua đó, chúng ta có thể nhận diện các khó khăn gặp phải và những ràng buộc của bài toán.
- Tiến hành phân tích, xây dựng giải pháp phát hiện gồm có : Tiền xử lý, trích chọn đặc trưng, huấn luyện mô hình dữ liệu, hậu xử lý
- Xây dựng và kiểm thử việc đánh giá hiệu quả phương pháp mạng neuron tích chập để phân loại đối tượng bằng ngôn ngữ Python
+ Cấu trúc của luận văn
Cấu trúc của luận văn nghiên cứu và ứng dụng mạng neuron tích chập trong thí nghiệm trên nhiều tầng khác nhau nhằm tìm ra kết quả tối ưu cho bài toán và chương trình bao gồm các phần chính sau:
Chương 1: Tổng quan về
Chương 2: Lý thuyết về Deep Learning và Mạng neuron tích chập
Chương 3 sẽ tập trung vào việc triển khai ứng dụng phát hiện và phân loại các loại trái cây phổ biến bằng phương pháp Deep Learning, sử dụng mô hình mạng neuron tích chập.
Chương 4: Kết quảvà hướng phát triển
Kết luận: Tóm tắt các vấn đềđược tìm hiểu trong luận văn và các vấn đề liên quan trong luận văn.
T Ổ NG QUAN V Ề X Ử LÝ Ả NH S Ố
Con người tiếp nhận thông tin chủ yếu qua các giác quan, với thị giác là quan trọng nhất Gần đây, sự phát triển mạnh mẽ của phần cứng máy tính đã thúc đẩy sự tiến bộ trong xử lý ảnh và đồ họa, mang lại nhiều ứng dụng thiết thực trong cuộc sống Xử lý ảnh và đồ họa đóng vai trò then chốt trong việc cải thiện tương tác giữa con người và máy móc.
Quá trình xử lý ảnh là thao tác trên ảnh đầu vào để đạt được kết quả mong muốn Kết quả của quá trình này có thể là một bức ảnh mới.
“tốt hơn” hoặc một kết luận
- Các bước cơ bản trong một hệ thống xử lýảnh:
+ Khối thu nhận ảnh: có nhiệm vụ tiếp nhận ảnh đầu vào
+ Khối tiền xử lý: có nhiệm vụ xử lý nâng cao chất lượng ảnh như giảm nhiễu, phân vùng, tìm biên v.v
+ Khối trich chọn đặc điểm: có nhiệm vụ trích chọn các đặc trưng quan trọng của các bức ảnh đãđược tiền xử lýđể sử dụng trong hệ quyết định
Khối hậu xử lý có vai trò quan trọng trong việc xử lý các đặc điểm đã được trích chọn, cho phép lược bỏ hoặc biến đổi chúng để phù hợp với các kỹ thuật cụ thể được áp dụng trong hệ quyết định.
+ Khối hệ quyết định và lưu trữ: có nhiệm vụ đưa ra quyết định (phân loại) dựa trên dự liệu đã học lưu trong khối lưu trữ
+ Khối kết luận: đưa ra kết luận dựa vào quyết định của khối quyết định
1.3.2 Một số khái niệm cơ bản trong xử lý ảnh
Điểm ảnh là biểu thị cho cường độ sáng tại một vị trí cụ thể trong không gian, trong khi ảnh được coi là tập hợp của các điểm ảnh.
Là số các giá trị có thể có của các điểm ảnh của ảnh
+ N ắ n ch ỉ nh bi ế n d ạ ng: Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử
Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh mà chúng ta cần loại bỏ: Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi
Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân có thể khắc phục bằng các phép lọc
Chỉnh số mức xám là nhằm khắc phục tính không đồng đều của hệ thống xử lýảnh, thông thường có 2 hướng tiếp cận:
Giảm số mức xám bằng cách nhóm các mức xám gần nhau thành một bó, và khi giảm xuống 2 mức xám, ảnh sẽ chuyển về đen trắng Ngược lại, tăng số mức xám được thực hiện thông qua kỹ thuật nội suy, giúp tạo ra các mức xám trung gian và tăng cường độ mịn cho ảnh.
Phân tích ảnh là một bước quan trọng trong quá trình xử lý ảnh nhằm hiểu rõ hơn về nội dung hình ảnh Việc trích chọn đặc điểm của đối tượng phụ thuộc vào mục đích nhận dạng trong xử lý ảnh Một số đặc điểm của ảnh bao gồm đặc điểm không gian như phân bố mức xám, phân bố xác suất, biên độ và điểm uốn Ngoài ra, đặc điểm biến đổi được trích chọn thông qua kỹ thuật lọc vùng (zonal filtering), với các bộ vùng hay còn gọi là “mặt nạ đặc điểm” (feature mask) có hình dạng đa dạng như chữ nhật, tam giác, hay cung tròn.
Nén ảnh là kỹ thuật giúp giảm thiểu không gian lưu trữ, với hai phương pháp chính là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thường đạt tỷ lệ nén cao hơn nhưng không thể phục hồi ảnh gốc, trong khi nén có bảo toàn cho phép khôi phục hoàn toàn ảnh gốc Nén ảnh có bốn cách tiếp cận cơ bản.
Kỹ thuật nén ảnh thống kê dựa vào tần suất xuất hiện của giá trị các điểm ảnh để phát triển chiến lược mã hóa hiệu quả Một ví dụ điển hình cho kỹ thuật mã hóa này là định dạng *.TIF.
Nén ảnh không gian là kỹ thuật mã hóa dựa vào vị trí không gian của các điểm ảnh, tận dụng sự tương đồng giữa các điểm ảnh trong các vùng lân cận Một ví dụ điển hình cho kỹ thuật này là mã nén *.PCX.
Nén ảnh sử dụng phép biến đổi là một kỹ thuật nén không bảo toàn, cho phép đạt được tỷ lệ nén tương đối cao Định dạng *.JPG là một ví dụ điển hình cho phương pháp nén này.
Nén ảnh Fractal sử dụng tính chất Fractal của các đối tượng ảnh, cho phép lặp lại chi tiết ở nhiều vị trí, kích thước và hướng khác nhau Kỹ thuật nén này chỉ cần lưu trữ phần gốc của ảnh cùng với quy luật sinh ra ảnh theo nguyên lý Fractal.
CƠ SỞ LÝ THUY Ế T
G I Ớ I THI Ệ U V Ề D EEP L EARNING
Deep Learning là một phương pháp trong Học máy, cho phép dự đoán đầu ra từ tập dữ liệu dựa trên các đầu vào Cả hai phương pháp huấn luyện có giám sát và không giám sát đều có thể áp dụng, nhưng trong trường hợp này, chúng ta sẽ sử dụng phương pháp học có giám sát để huấn luyện mô hình.
Nói rộng ra, deep learning là một tên gọi dễ hiểu hơn của mạng neuron nhân tạo
Thuật ngữ "deep" trong deep learning chỉ độ sâu của mạng nơ-ron Mạng nơ-ron nhân tạo có thể có cấu trúc nông Các mạng nơ-ron được phát triển dựa trên mô hình của vỏ não.
Mức cơ bản của mạng nơ-ron được gọi là perceptron, đại diện cho mô hình toán học của một nơ-ron sinh học Tương tự như vỏ não, có thể có nhiều lớp perceptron được kết nối với nhau.
Lớp đầu tiên trong mạng nơ-ron là lớp đầu vào, nơi mỗi nút nhận một đầu vào và chuyển output của nó cho các nút trong lớp tiếp theo Không có kết nối giữa các nút trong cùng một lớp, và lớp cuối cùng tạo ra kết quả đầu ra Phần giữa được gọi là lớp ẩn, nơi các neuron không kết nối với bên ngoài và chỉ được kích hoạt bởi các nút trong lớp trước Tất cả các công nghệ này đều xuất phát từ "deep learning", một nhánh của trí tuệ nhân tạo (AI), và nhiều nhà khoa học vẫn gọi nó là deep neural network (mạng nơ-ron sâu).
Kỹ sư không thể lập trình máy tính thực hiện các tính năng phức tạp, mà thay vào đó, họ phát triển thuật toán cho phép máy tự học Máy tính được tiếp xúc với hàng terabyte dữ liệu, như hàng trăm ngàn bức ảnh chó và hàng năm băng ghi giọng nói.
Sự tiếp xúc liên tục với hình ảnh và giọng nói sẽ "huấn luyện" máy tính để nhận diện chúng một cách tự động Tương tự như cách trẻ em học hỏi về thế giới, sau thời gian dài quan sát hình ảnh của chó và nghe cách phát âm, máy tính sẽ có khả năng "nhìn" và "nghe" chính xác hơn.
Học sâu, mặc dù đã được nghiên cứu từ những năm 1950, chỉ mới gần đây được công nhận là một công nghệ quan trọng Từ những năm 1990, nó đã được áp dụng thành công trong thương mại, nhưng thường bị xem là nghệ thuật chỉ dành cho chuyên gia Số lượng kỹ năng cần thiết để đạt hiệu suất tốt từ thuật toán học sâu đã giảm khi lượng dữ liệu đào tạo tăng lên Các thuật toán hiện nay có thể đạt được hiệu suất tương đương con người trên các nhiệm vụ phức tạp Sự gia tăng hoạt động trên máy tính và khả năng ghi lại các tính toán đã giúp việc tổ chức dữ liệu trở nên dễ dàng hơn, tạo điều kiện cho các ứng dụng học máy phát triển trong bối cảnh bùng nổ Dữ liệu lớn.
Việc học máy đã trở nên dễ dàng hơn nhờ vào sự phát triển của dữ liệu, giúp giảm bớt gánh nặng ước lượng thống kê khi tổng quát hóa dữ liệu mới từ một lượng nhỏ Các thuật toán học được giám sát có thể đạt hiệu suất chấp nhận được với khoảng 5.000 ví dụ được gắn nhãn cho mỗi danh mục, và có thể khớp hoặc vượt qua hiệu suất của con người khi được đào tạo với ít nhất 10 triệu ví dụ gắn nhãn Nghiên cứu về việc làm việc hiệu quả với các tập dữ liệu nhỏ hơn, đặc biệt là việc tận dụng số lượng lớn các ví dụ không gán nhãn thông qua học không giám sát hoặc bán giám sát, đang trở thành một lĩnh vực quan trọng.
Deep Learning là một thuật toán lấy cảm hứng từ cấu trúc não bộ, cho phép tiếp thu và xử lý nhiều tầng biểu đạt khác nhau, từ cụ thể đến trừu tượng, nhằm làm rõ ý nghĩa của các loại dữ liệu.
Deep Learning được ứng dụng rộng rãi trong nhận diện hình ảnh, giọng nói và xử lý ngôn ngữ tự nhiên Đặc điểm nổi bật của Deep Learning là khả năng đạt được độ chính xác cao nhờ vào khối lượng dữ liệu khổng lồ mà nó có thể xử lý Để hiểu rõ về Deep Learning, trước tiên, chúng ta cần nắm vững mối quan hệ giữa Deep Learning, machine learning, mạng neuron và trí tuệ nhân tạo.
Cách tốt nhất để hiểu về mối quan hệnày là mường tượng chúng thành những vòng tròn đồng tâm:
Deep learning là một phần quan trọng của trí thông minh nhân tạo, nằm ở trung tâm của machine learning và mạng neuron nhân tạo Từ "deep" trong deep learning chỉ độ sâu của mạng lưới, cho thấy rằng một mạng neuron nhân tạo có thể có nhiều lớp khác nhau Điều này giúp cải thiện khả năng học hỏi và xử lý thông tin của hệ thống.
Mạng neuron, được phát triển dựa trên cấu trúc của vỏ não, bao gồm các perceptron, là biểu diễn toán học của một neuron sinh học Tương tự như vỏ não, mạng có thể có nhiều lớp perceptron kết nối với nhau.
Lớp đầu tiên trong mạng nơ-ron là lớp đầu vào, nơi mỗi nút nhận một đầu vào và chuyển output của nó cho các nút trong lớp tiếp theo Thông thường, không có kết nối giữa các nút trong cùng một lớp, và lớp cuối cùng sẽ tạo ra kết quả đầu ra.
Lớp ẩn trong mạng nơ-ron là phần giữa, nơi chứa các neuron không kết nối trực tiếp với đầu vào hoặc đầu ra, mà chỉ được kích hoạt bởi các nút trong lớp trước đó.
Hình 2.2 Minh hoạ các lớp trong Deep Learning https://github.com/rcassani/mlp-example
Deep learning là một kỹ thuật trong mạng neuron, sử dụng nhiều lớp trừu tượng để giải quyết các vấn đề nhận dạng khuôn mẫu Nó được xem là một nhánh của trí tuệ nhân tạo, trong khi machine learning là phương pháp tiếp cận rộng hơn, với deep learning là một loại machine learning chuyên biệt.
G I Ớ I THI Ệ U M Ạ NG N EURON
Mạng Neuron nhân tạo (ANN) là mô hình xử lý thông tin được mô phỏng theo hoạt động của hệ thống thần kinh sinh vật, với nhiều Neuron liên kết để xử lý dữ liệu Giống như bộ não con người, ANN học từ kinh nghiệm qua quá trình huấn luyện, có khả năng lưu trữ tri thức và áp dụng để dự đoán dữ liệu chưa biết.
Mạng neuron nhân tạo kết hợp với logic mờ đã tạo ra một cuộc cách mạng trong việc nâng cao tính thông minh và khả năng đa dạng của các bộ điều khiển kỹ thuật cao Điều này đặc biệt quan trọng cho các ứng dụng như tự động điều khiển hệ thống lái tàu và dự báo sự cố trong tương lai.
Mạng neuron được xây dựng dựa trên mô phỏng các hệ thống neuron sinh học Trong tương lai, với sự tiến bộ trong việc mô phỏng neuron sinh học, chúng ta có thể phát triển những loại máy mới.
Mạng Neuron được ứng dụng rộng rãi trong nhiều lĩnh vực như điện, điện tử, kinh tế và quân sự, nhằm giải quyết các bài toán phức tạp và yêu cầu độ chính xác cao Chúng được sử dụng trong các lĩnh vực như điều khiển tự động, khai phá dữ liệu và nhận dạng.
Kiến trúc chung của một mạng neuron nhân tạo gồm 3 thành phần đó là: Input Layer, Hidden Layer và Output Layer (Xem Hình)
Hình 2.3 Kiến trúc tổng quát của một ANN
Trong đó, lớp ẩn (Hidden Layer) gồm các Neuron nhận dữ liệu input từ các
Neuron ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn
In an Artificial Neural Network (ANN), the Processing Elements (PE) are referred to as Neurons Each Neuron receives input data, processes it, and produces a single output The output from one Neuron can serve as input for other Neurons.
M Ạ NG N EURON TÍCH CH Ậ P
Để máy tính có thể xử lý các dạng dữ liệu tự nhiên như âm thanh, hình ảnh và cảm giác, cần thiết phải có một kiến trúc tương tự như hệ thần kinh Mặc dù máy PC hiện nay có tốc độ xử lý rất cao, nhưng khả năng xử lý tuần tự vẫn không đủ nhanh để đáp ứng các tác vụ điều khiển Do đó, để đạt được hệ xử lý nhanh và đa luồng, cần thiết phải phát triển hệ thống xử lý song song với nhiều chip xử lý, giống như cách mà hệ thần kinh của cơ thể sống hoạt động.
Công nghệ mạng neuron tế bào CNN (Cellular Neural Networks) được phát minh bởi các nhà khoa học Mỹ và Hungary vào năm 1988, với tốc độ xử lý lên đến 10^{12} phép tính/giây cho mỗi tế bào Hệ thống này bao gồm khoảng 16.000 CPU hoạt động đồng thời, đánh dấu một bước đột phá trong cấu trúc của CNN với các CPU song song được kết nối thành mạng tích hợp trong một chip.
2.4.1 Định nghĩa mạng Neuron tích chập
Những năm gần đây, ta đã chứng kiến được nhiều thành tựu vượt bậc trong ngành
Thị giác máy tính đang được áp dụng rộng rãi trong các sản phẩm của các công ty lớn như Facebook, Google và Amazon, với những tính năng thông minh như nhận diện khuôn mặt, phát triển xe hơi tự lái và drone giao hàng tự động.
Mạng neuron tích chập (CNNs) là một trong những mô hình Deep Learning tiên tiến, cho phép xây dựng hệ thống thông minh với độ chính xác cao Luận văn này sẽ trình bày về quá trình tích chập và ý tưởng của mô hình CNNs trong việc phân lớp đối tượng, nhằm phát hiện và nhận dạng trái cây trong ảnh màu.
Tích chập được sử dụng đầu tiên trong xử lý tín hiệu số ( Signal processing)
Nhờ nguyên lý biến đổi thông tin, các nhà khoa học đã ứng dụng kỹ thuật này vào xử lý ảnh và video số Tích chập có thể được hình dung như một cửa sổ trượt áp dụng lên một ma trận, giúp theo dõi cơ chế của quá trình này một cách trực quan.
Hình 2.4 Mô hình tích chập https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/convolution.html
Ma trận bên trái đại diện cho một bức ảnh đen trắng, trong đó mỗi giá trị của ma trận tương ứng với một điểm ảnh (pixel) Giá trị 0 biểu thị màu đen, trong khi giá trị 1 biểu thị màu trắng Đối với ảnh grayscale, giá trị có thể biến thiên từ 0 đến 255.
Sliding window, hay còn gọi là kernel, filter, hoặc feature detector, sử dụng một ma trận filter 3×3 để nhân từng thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu ra được tính bằng cách cộng lại các tích của các thành phần này Kết quả của quá trình tích chập là một ma trận (convolved feature) được tạo ra từ việc trượt ma trận filter và thực hiện tích chập trên toàn bộ ma trận ảnh bên trái.
2.4.3 Mô hình mạng nơ-ron tích chập
CNNs, hay Mạng Nơ-ron Tích Chập, là một kiến trúc mạng nơ-ron bao gồm nhiều lớp convolution kết hợp với các hàm kích hoạt phi tuyến như ReLU hoặc tanh Điều này giúp tạo ra thông tin trừu tượng và nâng cao cho các lớp tiếp theo trong quá trình xử lý dữ liệu.
In a Feedforward Neural Network, layers are directly connected to each other through a weighted vector, denoted as \( w \) These layers are commonly referred to as fully connected layers or affine layers.
Trong mô hình CNNs, các lớp được kết nối thông qua cơ chế convolution, tạo ra các kết nối cục bộ Kết quả của phép convolution từ lớp trước đó sẽ là đầu vào cho lớp tiếp theo, với mỗi neuron ở lớp sau được sinh ra từ Filter áp dụng lên một vùng ảnh cục bộ của neuron ở lớp trước.
Mỗi lớp trong mạng nơ-ron được áp dụng nhiều bộ lọc khác nhau, thường từ hàng trăm đến vài nghìn bộ lọc Các lớp khác như lớp pooling hoặc subsampling được sử dụng để tinh lọc thông tin, loại bỏ những dữ liệu nhiễu không cần thiết Tuy nhiên, bài viết này sẽ không đi sâu vào khái niệm của các lớp này.
Trong quá trình huấn luyện, CNNs tự động học các thông số cho các bộ lọc, nhằm tối ưu hóa việc phân lớp ảnh Cụ thể, CNNs tìm kiếm các thông số tối ưu cho các bộ lọc từ raw pixel đến edges, shapes, facial, và các đặc trưng cao cấp Layer cuối cùng được sử dụng để thực hiện phân lớp ảnh.
Hình 2.5 Mô hình mạng neuron tích chập https://www.kdnuggets.com/2016/11/intuitive-explanation-convolutional-neural- networks.html/3
CNNs có tính bất biến và tính kết hợp cục bộ (Location Invariance and
Tính thành phần (Compositionality) cho thấy rằng độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể khi một đối tượng được chiếu theo các góc độ khác nhau như dịch chuyển, xoay và thu phóng Lớp pooling sẽ cung cấp tính bất biến đối với phép dịch chuyển.
(translation), phép quay (rotation) và phép co giãn (scaling)
Tính kết hợp cục bộ cung cấp các cấp độ biểu diễn thông tin từ thấp đến cao và trừu tượng hơn thông qua quá trình convolution với các filter.
Mô hình CNN đạt độ chính xác cao trong việc nhận diện đối tượng, tương tự như cách con người phân biệt các vật thể trong tự nhiên Chúng có khả năng phân loại chó và mèo dựa trên các đặc trưng từ mức độ thấp như số chân và đuôi, đến các đặc trưng cao hơn như dáng đi, hình thể và màu lông.
2.4.4 Xây dựng mạng Nơ-ron tích chập
M Ộ T S Ố KI Ế N TRÚC CONVOLUTIONAL NEURAL NETWORK THÔNG D Ụ NG
Lớp cuối cùng trong mạng là lớp kết nối đầy đủ, nơi mà mọi neuron từ lớp max-pooled được kết nối với tất cả các neuron của tầng đầu ra Kiến trúc này tương tự như mô hình đã được sử dụng trong các chương trước.
Kiến trúc tích chập khác biệt so với các kiến trúc trước đây, nhưng vẫn tương tự về cấu trúc, bao gồm nhiều đơn vị đơn giản với hành vi được xác định bởi trọng số và độ lệch Mục tiêu chính vẫn là sử dụng dữ liệu huấn luyện để điều chỉnh trọng số và độ lệch, nhằm cải thiện khả năng phân loại chữ số đầu vào Đặc biệt, mạng sẽ được huấn luyện bằng phương pháp gradient descent ngẫu nhiên và lan truyền ngược, tuy nhiên, cần điều chỉnh quy trình lan truyền ngược để phù hợp với các lớp tích chập và lớp max-pooling.
2.5 Một số kiến trúc convolutional neural network thông dụng
Hình 2.17 Kiến trúc AlexNet https://www.researchgate.net/figure/AlexNet-CNN-architecture-layers_fig1_318168077
Kiến trúc AlexNet do Alex Krizhevsky phát triển vào năm 2012 để khi tham gia cuộc thi ImageNet Mô hình này đã đạt giải nhất trong cuộc thi 2012 ImageNet
Mô hình gồm 5 tầng convolitional và 3 tầng fully connected với các tham sốnhư trong hình vẽ trên
Số lượng tham số: 60 triệu tham số
Hình 2.18 Kiến trúc VGG 16 https://www.quora.com/What-is-the-VGG-neural-network
Kiến trúc VGG 16 do Simonyan và Zissermanphát triển vào năm 2014 để khi tham gia cuộc thi ILSVRC 2014 Mô hình này đã đạt giải nhì trong cuộc thi ILSVRC
Mô hình gồm tổng cộng 16 tầng, trong đó có 13 tầng convolitional và 3 tầng fully connected với các tham sốnhư trong hình vẽ trên
Sốlượng tham số: 138 triệu tham số
Hình 2.19 Kiến trúc Inception https://medium.com/coinmonks/paper-review-of-googlenet-inception-v1-winner-of-ilsvlc-
Kiến trúc Inception do Google phát triển và đã chiến thắng trong cuộc thi ILSVRC
Mô hình này bao gồm 22 tầng convolutional mà không có tầng fully connected Trong mô hình Inception, các tác giả đã giới thiệu một module gọi là Inception, trong đó các phép toán filter được thực hiện song song trên đầu vào của tầng trước Mỗi Inception bao gồm 3 convolutional với kích thước (1x1, 3x3, 5x5) và 1 tầng max pooling kích thước 3x3.
Hình 2.20 Inception https://medium.com/coinmonks/paper-review-of-googlenet-inception-v1-winner-of-ilsvlc-
Sốlượng tham số: 5 triệu tham số