CHƯƠNG 1 TỔNG QUAN 3 • Khối trích xuất đặc trưng. Khi hình ảnh đi qua mô hình, khối trích xuất đặc trưng sẽ lấy những đặc trưng cần thiết của đối tượng. Các đặc trưng này sẽ được một hàm lỗi cho tác vụ segmentation giám sát để giúp cho mỗi khối con trong khối trích xuất đặc trưng biết đâu là vùng của đối tượng. Khối trích xuất đặc trưng sẽ được cải thiện để tìm ra đặc điểm có độ phân tách cao.
Ví dụ như khi phân lớp các lỗi trên bề mặt sẽ tìm ra đặc điểm của vết xước sẽ mỏng, dài, còn đặc điểm của vết dơ sẽ to tròn. • Khối phân lớp Sau khi có các đặc trưng của đối tượng và hình ảnh của mỗi khối, khối phân lớp sẽ được thêm vào mỗi khối con của mô hình để giúp cho mỗi khối con loại bỏ đi những đặc trưng không cần thiết, từ đó biết được rằng các chi tiết cho đối tượng cần phân loại khác nhau ra sao. Việc loại bỏ đi những đặc trưng không cần thiết sẽ loại bỏ đi những phần giống nhau của vật thể, ví dụ như phân loại các chai nước thì sẽ có những vùng phông nền phía sau vật thể, nếu mô hình tập trung vào đây sẽ làm giảm độ chính xác. Do đó, việc giảm thiểu đi những vùng như phông nền hoặc xuất hiện nhiều trong hình ảnh sẽ giúp cải thiện độ chính xác.
• Lớp đầu ra. Kết quả sau khi đi qua các khối con của trích xuất đặc trưng, các đặc trưng tối ưu nhất sẽ được cho qua lớp fully connected (FC) để cho ra kết quả cuối cùng. Khi đến giai đoạn luận văn, việc xử lý cho những đối tượng ở lớp mới sẽ tập trung vào lớp này thông qua kĩ thuật few-shot learning. Bằng cách đó, việc xác định số lượng lớp từ đầu sẽ được loại bỏ và mô hình linh hoạt hơn những mô hình truyền thống.3 Cấu trúc luận văn Phần còn lại của báo cáo được chia thành 5 chương.
Chương 2 sẽ nói về các kiến thức nền tảng cần thiết cho nghiên cứu trong đề tài. Chương 3 sẽ trình bày về việc khảo sát chi tiết các nghiên cứu liên quan đến đề tài, bao gồm các nghiên cứu về phân lớp các đối tượng có độ tương đồng cao. Chương 4 trình bày 2 phương pháp đề xuất dựa trên các kỹ thuật học tự giám sát và nhắm đến giải các bài toán với dữ liệu huấn luyện có kích thước nhỏ. Việc hiện thực các mô hình đã đề xuất và thực nghiệm và đánh giá kết quả thu được sẽ được cho trong Chương 5.
Chương 6 là các kết các luận và hướng nghiên cứu tiếp theo. 2 KIẾN THỨC NỀN TẢNG Chương này trình bày những kiến thức nền tảng được sử dụng cho các nghiên cứu được thực hiện luận văn.1 Mạng nơ-ron trí tuệ nhân tạo (Artificial Neural Network) .2 Mạng nơ-ron tích chập (Convolution Neural Network) .3 Mạng nơ-ron dư thừa (Residual Neural Network) .4 Mạng phân đoạn hình ảnh (Image Segmentation). 11 CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 5 2.1 Mạng nơ-ron trí tuệ nhân tạo (Artificial Neural Network) Ý tưởng về mạng nơ-ron nhân tạo đã xuất hiện từ rất lâu về trước. Kiến trúc này lấy ý tưởng từ nơ-ron hệ thần kinh của con người và động vật.
Hệ thần kinh bao gồm rất nhiều nơ-ron thần kinh liên kết chặt chẽ với nhau. Mỗi khi có yếu tố kíck thích nào đó, các nơ-ron sẽ phát ra tín hiệu tuỳ thuộc theo tính đặc thù của nơ-ron đó với tác nhân kích thích và truyền tính hiệu sinh ra đến các nơ-ron kết nối với nó. Sự lan truyền có tiếp tục để cuối cùng cho ra phản ứng phù hợp với yếu tố gây kích thích. Trong kiến trúc mạng nơ-ron nhân tạo, các nơ-ron là đơn vị tính toán nhận các giá trị đầu vào từ dữ liệu đầu vào hoặc các nơ-ron phía trước.
Sau đó, nơ-ron sẽ tính toán bằng cách nhân giá trị đầu vào này với các trọng số tương ứng đã được lưu trong từng nơ-ron. Tiếp đến, tổng của các giá trị trên được đi qua một hàm kích hoạt nhằm biến một hàm tuyến tính thành một hàm phi tuyến. Điều này khiến hàm số trở nên phức tạp hơn và có thể biểu diễn được các giá trị phức tạp. Cuối cùng, sau khi tính toán xong, giá trị trên sẽ chuyển đến đầu ra cho ra kết quả hoặc tiếp tục trở thành đầu vào cho một nơ-ron khác để có thể biểu diễn các giá trị phức tạp hơn.
Với trọng sô được học hoặc điều chỉnh một cách hợp lí, mạng nơ-ron có thể biểu diễn được các hàm cực kì phức tạp và tổng quát hoá được dữ liệu đưa vào.1 thể hiện sự tương đồng giữa nơ-ron thật và ảo. Các Dendrites của tế bào nơ-ron thần kinh như là các tầng giá trị đầu vào của mạng no-rơn. Sau khi qua xử lý cũng như tính toán, mạng nơ-ron xuất ra giá trị từ các tầng giá trị đầu ra tương ứng với axon truyền tín hiệu ra các nơ-ron thần kinh khác. Công thức tính toán của mỗi nơ-ron trong mạng là: a = f (W x + b) (2.1) Với: 1 https://sites.com/site/mrstevensonstechclassroom/hl-topics-only/ 4a-robotics-ai/neural-networks-computational-intelligence Hình 2.1: Mô hình nơ-ron thật và ảo1.
CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 6 Hình 2.2: Mô hình nơ-ron thật và ảo 1. • x: Các giá trị đầu vào được truyền cho nơ-ron. • W : Các trọng số của mạng. • b: bias giúp biểu diễn giá trị nơ-ron tốt hơn.
• f : Hàm kích hoạt của nơ-ron, giúp nơ-ron biểu diễn các hàm phức tạp. • a: Giá trị đầu ra của nơ-ron. Một mạng ANN thường bào gồm nhiều lớp nơ-ron chồng lên nhau để biểu diễn một hàm phức tạp hiệu quả nhất. Kiến trúc này là Multilayer Perceptron như hình 2.
Mô hình gồm các đầu ra nơ-ron từ tầng trước được dùng làm đầu vào của nơ-ron tầng sau. Càng nhiều tầng, mạng càng biểu diễn được các hàm phức tạp.2 Mạng nơ-ron tích chập (Convolution Neural Network) Convolution Neural Network là một loại kiến trúc mạng nơ-ron được sử dụng rộng rãi trong thị giác máy tính. Bản chất dữ liệu kiểu hình ảnh là những điểm gần nhau thường có liên hệ nhiều hơn so với những điểm xa hơn. CNN rất phù hợp với dạng bài toán này.
CNN gồm một cửa sổ có rất nhiều bộ lọc khác nhau. Cửa sổ trên trượt trên khung hình và tính toán được giá trị đầu ra bằng phép tính chặp dựa trên những điểm ảnh xung quanh nhau có kích thước bằng kích thước cửa sổ. Điều này giúp thông tin cục bộ như góc, cạnh được bộ lọc học và nhận biết dễ dàng từ dữ liệu đầu vào.com/tensorflow/tensorflow_multi_layer_perceptron_ learning.htm 2 https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural\ -networks-the-eli5-way-3bd2b1164a53 CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 7 Hình 2.3: Mô hình Convolution Neural Network2 Hình 2.3 mô tả một CNN. Các tham số của Convolution Neural Network: • Kernel: Kích thước cửa sổ trượt, thường có giá trị là 3x3.
• Filter: Bộ lọc, có chức năng học các đặc trưng khác nhau của ảnh. • Stride: Độ dời của cửa số, giá trị trên xác định cửa sổ dời bao nhiêu đơn vị. • Padding: Xác định kích thước dữ liệu đầu ra so với dữ liệu đầu vào. So với ANN, CNN có nhiều ưu điểm hơn khi áp dụng vào bài toán thị giác máy tính.
Đầu tiên là về số trọng số cần phải học. Với mạng ANN thông thường, ta cần duỗi thằng bức ảnh ra và tất cả các giá trị đầu vào của ảnh đều nối với các nơ-ron, làm cho số trọng số cần phải học rất hơn. Trong khi đó, CNN chỉ gồm một bộ trọng số cố định trượt trên ảnh và học từ các vùng ảnh. Số lượng trọng số sẽ được giảm xuống rất nhiều giúp cho thời gian học cũng như tính toán được rút ngắn đáng kể.
Thứ hai, như đã đề cập ở trên, để mạng ANN có thể học được, ta cần duỗi thẳng ảnh ra và nối vào các nơ-ron. Điều này làm mất đi tính chất đặc trưng của ảnh là cục bộ, một điểm ảnh có liên hệ mật thiết với các điểm ảnh xung quanh nó. Mất đi tính chất này sẽ mất đi rất nhiều thông tin quan trọng của ảnh. Ngoài ra, ngày càng có nhiều mô hình sử dụng CNN hoàn toàn mà không cần bất cứ tầng FC nào.
Đây là một xu thế phát triển rất mạnh gần đây và cũng đạt được độ chính xác rất cao. CHƯƠNG 2 KIẾN THỨC NỀN TẢNG 8 Hình 2.4: Mô hình Nối tắt Residual Neural Network res.3 Mạng nơ-ron dư thừa (Residual Neural Network) Vùng ảnh hưởng (Receptive field) là kích thước vùng hình ảnh đầu vào của một giá trị đầu ra. Với một cửa sổ có kích thước 7x7, một điểm giá trị đầu ra được tính từ một vùng ảnh có kích thước 7x7. Với 3 cửa sổ 3x3 xếp chồng lên nhau, vùng ảnh hưởng của giá trị đầu ra cũng có kích thước 7x7.
Nhưng mô hình với 3 cửa sổ 3x3 lại có ưu điểm cũng như là phương pháp phù hợp hơn khi sử dụng để giải các bài toán về thị giác máy tính. Đầu tiên, một vùng 7x7 cần số trọng số là 7x7x(số bộ lọc) hay 49x(số bộ lọc). Còn 3 bộ lọc 3x3 xếp chồng lại cần (3x3+3x3+3x3)x(số bộ lọc) nếu cả ba tầng đều cùng sử dụng số bộ lọc tương tự với cử sổ 7x7. Kết quả là 27x(sô bộ lọc).
Số trọng số nhỏ hơn nhưng vùng ảnh hưởng vẫn cùng giá trị. Đây là lợi thế thứ nhất của các tiếp cận nhiều cửa sổ kích thước nhỏ xếp chồng lên nhau. Tiếp theo, tính chất của ảnh là những điểm càng gần nhau thì càng quan trọng so với các điểm ảnh ở xa. Với các bộ lọc xếp chồng, các điểm ảnh gần với điểm ảnh trung tâm sẽ càng được tính toán qua nhiều cửa sổ hơn.
Điều này giúp tận dụng tốt hơn bản chất của hình ảnh. Đây là hướng tiếp cận tốt hơn nhưng vẫn có vấn đề khó giải quyết. Đó là sự biến mất của đạo hàm (Gradient Vanishing). Residual Neural Network là một khái niệm quan trọng giúp cho các mạng CNN phức tạp có thể hoạt động tốt.
Các kĩ thuật Neural Network đến hiện tại đều cần học các trọng số của mô hình thông qua cơ chế lan truyền ngược. Cơ chế lan truyền ngược trên cần đạo hàm để có thể học được giá trị tối ưu của mô hình. Nhưng với một mạng CNN gồm nhiều lớp xếp chồng lên nhau, con đường để lan truyền đạo hàm từ tầng đầu ra đến tầng đầu vào rất dài. Điều này làm cho giá trị đạo hàm ở các lớp CNN càng xa so với đầu ra càng nhỏ, khiến cho mô hình không thể học, khiến cho đạo hàm biến mất.
Với Residual Neural Network, vấn đề này được giải quyết tốt hơn. Với phương pháp nối tắt này, đạo hàm sẽ được lan truyền ngược tốt hơn mà không cần lo đến vấn đề đạo hàm triệt tiêu.