Học không có giám sát: không có phản hồi từ môi trường để chỉ ra rằng đầu ra của mạng là đúng. Mạng sẽ phải khám phá các đặc trưng, các điều chỉnh, các mối tương quan, hay các lớp trong dữ liệu vào một cách tự động. Trong thực tế, đối với phần lớn các biến thể của học không có giám sát, các đích trùng với đầu vào. Nói một cách khác, học không có giám sát luôn thực hiện một công việc tương tự như một mạng tự liên hợp, cô đọng thông tin từ dữ liệu vào.
Mô hình mạng thần kinh nhân tạo xác lập mối quan hệ giữa một tập hợp các biến đầu vào 𝑋̅𝑖(I = 1, n) với một hoặc nhiều biến đầu ra 𝑌̅𝑘(k = 1, l) dựa vào dữ liệu trong quá khứ. Với các nơ-ron ở lớp đầu vào, mỗi giá trị đầu vào Xi lần lượt được nhân với các trọng số wij, sau đó được cộng với nhau và cộng với một độ lệch. Tổng được tạo ra có thể sử dụng hàm kích hoạt f tạo thành nơ-ron trong lớp ẩn Hj bằng công thức (2.1).
𝒊=𝟏
𝑯𝒋 = 𝒇(∑𝒏 𝒙𝒊𝒘𝒊𝒋 + 𝒃𝒊𝒂𝒔) (2.1)
Các nơ-ron trong lớp ẩn được tính toán, tiếp tục nhân với các trọng số wjk và cộng thành tổng net. Sau khi tổng net được tính toán, nó được chuyển thành tín hiệu đầu ra (giá trị ước lượng) bằng việc áp dụng hàm kích hoạt f trong công thức (2.2).
𝒋=𝟏
𝒀̂𝒌= 𝒇(∑𝒎
𝑯𝒋𝒘𝒊𝒋 + 𝒃𝒊𝒂𝒔)
= 𝒇(∑
𝒎
𝒋=𝟏
𝒏
𝒇(∑
𝒊=𝟏
𝒙𝒊𝒘𝒊𝒋) 𝒘𝒋𝒌 + 𝒃𝒊𝒂𝒔) (2.2)
Ứng với một giá trị quan sát thứ t (t = 1, T), độ lệch giữa tín hiệu đầu ra của mạng Yk,t và Yk,t được gọi là sai số, giá trị độ lệch ban đầu mặc định là 0. Để tổng bình phương các sai số này là bé nhất, phải đi tìm bộ trọng số wij và wjk hay tìm giá trị bé nhất của hàm mục tiêu E(w) thể hiện trong công thức (2.3).
𝑬(𝒘) = 𝟏 ∑𝑻
∑𝒍
(𝒀
+ 𝒀̂ )𝟐
(2.3)
𝟐 𝒕=𝟏
𝒌=𝟏
𝒌,𝒕
𝒌,𝒕
Vì hàm Ew là một hàm phi tuyến nên không thể tìm các trọng số w bằng phương trình hồi quy tuyến tính mà sẽ được sử dụng thuật toán lan truyền ngược sai số [2].
Mạng nơ-ron tích chập
2.2.1 Tổng quan
Mạng nơ-ron tích chập (Convolutional Neural Network - CNN) là một trong những mô hình học sâu tiên tiến có thể xây dựng được những hệ thống thông minh với độ chính xác cao. Hiện nay các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay giao hàng tự động. CNN được sử dụng nhiều trong các bài toán nhận dạng các đối tượng trong ảnh. Tìm hiểu về thuật toán này sẽ hiểu được vì sao CNN được sử dụng rộng rãi cho việc nhận dạng [9].
Tích chập là một cửa sổ trượt trên một ma trận như mô tả trong hình 2.2.
1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 0 |
0 | 0 | 1x1 | 1x0 | 1x1 |
0 | 0 | 1x0 | 1x1 | 0x0 |
0 | 1 | 1x1 | 0x0 | 0x1 |
Có thể bạn quan tâm!
- Hệ thống điểm danh học sinh thông qua nhận dạng đầu học sinh kết hợp theo vết chuyển động trong video - 1
- Hệ thống điểm danh học sinh thông qua nhận dạng đầu học sinh kết hợp theo vết chuyển động trong video - 2
- Mô Tả Phát Hiện Và Theo Vết Đối Tượng Chuyển Động
- Sự Kết Hợp Giữa Các Lớp Tích Chập Và Max-Pooling
- Thuật Toán Theo Vết Đối Tượng Dựa Trên Đặc Trưng Tương Quan
- Mô Hình Bài Toán Điểm Danh Học Sinh Dùng Camera
Xem toàn bộ 97 trang tài liệu này.
4 | 3 | 4 |
2 | 4 | 3 |
2 | 3 | 4 |
(a) (b)
Hình 2.2 Ma trận trong cửa sổ trượt: (a) ảnh ban đầu; (b) Ma trận chuyển đổi
Các các tầng tích chập có các tham số đã đượ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 đặc tính. 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 × 3. Cửa sổ trượt, còn gọi là bộ lọc hay xác định đặc trưng là một ma trận có kích thước nhỏ như trong ví dụ trên là 3 × 3. 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ủa tích chập là một ma trận
sinh ra từ việc trượt ma trận ban đầu và thực hiện tích chập cùng lúc lên toàn bộ ma trận ảnh bên trái.
2.2.2 Mô hình của CNN
CNN là một tập hợp các tầng tích chập chồng lên nhau và sử dụng các hàm kích hoạt phi tuyến như ReLU và tanh để kích hoạt các trọng số trong các phần tử. Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. Trong mô hình mạng truyền thẳng thì mỗi nơ-ron đầu vào cho mỗi nơ-ron đầu ra trong các lớp tiếp theo. Mô hình này gọi là mạng kết nối đầy đủ hay còn gọi là mạng toàn vẹn. Còn trong mô hình CNN thì ngược lại. Các lớp liên kết được với nhau thông qua cơ chế tích chập. Lớp tiếp theo là kết quả tích chập từ lớp trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Như vậy mỗi nơ-ron ở lớp kế tiếp sinh ra từ kết quả của bộ lọc áp đặt lên một vùng ảnh cục bộ của nơ-ron trước đó.
Mỗi một lớp được sử dụng các bộ lọc khác nhau thông thường có hàng trăm hàng nghìn bộ lọc như vậy và kết hợp kết quả của chúng lại. Ngoài ra có một số tầng khác dùng để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu). Trong quá trình huấn luyện CNN tự động học các giá trị qua các lớp lọc dựa vào cách thức thực hiện. Ví dụ trong tác vụ phân lớp ảnh, CNN sẽ cố gắng tìm ra thông số tối ưu cho các bộ lọc tương ứng theo thứ tự: điểm ảnh ban đầu
cạnh hình dáng vùng mặt đặc trưng cấp cao. Lớp cuối cùng được dùng để phân lớp ảnh [3].
Trang 28 / 90
ĐẦU RA
ĐẦU VÀO
Ánh xạ đặc trưng (AXĐT)
AXĐT
AXĐT
AXĐT
Giảm kích thước
Tích chập
Giảm kích thước
Kết nối đầy đủ
Tích chập
Hình 2.3 Cấu trúc các lớp của CNN [3]
Luận văn Thạc sĩ Công nghệ thông tin Lê Thái Tú Tiền 16CH201014
Trong mô hình CNN có 2 vấn đề cần quan tâm là tính bất biến và tính kết hợp. Với cùng một đối tượng, nếu đối tượng này được chiếu theo các góc độ khác nhau (biến dạng, bị quay, hay bị biến dạng) thì độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể. Lớp tổng hợp sẽ cho bạn tính bất biến đối với phép dịch chuyển, phép quay và phép co giãn. Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua tích chập từ các bộ lọc. Đó là lý do tại sao CNN cho ra mô hình với độ chính xác rất cao. Cũng giống như cách con người nhận biết các vật thể trong tự nhiên [24].
2.2.3 Xây dựng CNN cho phân loại ảnh
CNN sử dụng một kiến trúc đặc biệt phù hợp cho bài toán phân loại ảnh. Sử dụng kiến trúc này làm cho mạng tích chập huấn luyện nhanh hơn. Kết quả là giúp việc huấn luyện sâu, mạng nhiều tầng, rất phù hợp cho phân loại ảnh. Ngày nay, mạng tích chập hoặc một số biến thể của nó đượcc sử dụng trong các mạng nơ-ron để nhận dạng ảnh. Mạng tích chập sử dụng ba ý tưởng cơ bản: các trường tiếp nhận cục bộ, trọng số chia sẻ và lớp tổng hợp.
Trường tiếp nhận cục bộ: đầu vào của mạng CNN là một ảnh. Ví dụ như ảnh có kích thước 28 × 28 thì tương ứng đầu vào là một ma trận có 28 × 28 ô và giá trị mỗi điểm ảnh là một ô trong ma trận. Trong mô hình mạng ANN truyền thống sẽ kết nối các nơ-ron đầu vào để vào tầng ảnh. Tuy nhiên trong CNN thì không làm như vậy mà chỉ kết nối trong một vùng nhỏ của các nơ-ron đầu vào như một bộ lọc có kích thước 5 × 5 tương ứng (28 − 5 + 1) = 24 điểm ảnh đầu vào. Mỗi một kết nối sẽ học một trọng số và mỗi nơ-ron ẩn sẽ học một độ lệch. Mỗi một vùng 5 × 5 đấy gọi là một trường tiếp nhận cục bộ, hình 2.4.
Đầu vào của nơ-ron
Nơ-ron ẩn
Hình 2.4 Trường tiếp nhận cục bộ
Một cách tổng quan, ta có thể tóm tắt các bước tạo ra một lớp ẩn bằng cách sau:
- Tạo ra nơ-ron ẩn đầu tiên trong lớp ẩn 1 (hình 2.5).
Đầu vào của Nơ-ron
Lớp ấn đầu tiên
Hình 2.5 Nơ-ron trong lớp ẩn 1
- Sau đó, trượt trường tiếp nhận cục bộ trên bởi một điểm ảnh bên phải (tức là bằng một nơ-ron), để kết nối với một nơ-ron ẩn thứ hai, hình 2.6.
Lớp ẩn đầu tiên
Đầu vào của Nơ-ron
Hình 2.6 Nơ-ron trong lớp ẩn 2
Trọng số chia sẻ và độ lệch: mỗi một nơ-ron ẩn có một độ lệch và 5 × 5 trọng số liên kết với trường tiếp nhận cục bộ. Những gì chúng ta vẫn chưa đề cập đến là chúng ta sẽ sử dụng các trọng số và độ lệch tương tự cho mỗi nơ-ron ẩn 24 × 24. Nói cách khác, đối với những nơ-ron ẩn thứ j, k, đầu ra sẽ được xác định theo công thức (2.4).
𝒍=𝟎
𝝈(𝒃 + ∑𝟒
𝟒
∑
𝒎=𝟎
𝒘𝒍,𝒎𝒂𝒋+𝒍,𝒌+𝒎) (2.4)
x 28 nơ-ron đầu vào Lớp ẩn đầu tiên
của 3 x 24 x 24 nơ-ron đầu vào
Đối với bài toán nhận dạng ảnh, ma trận lớp đầu vào là sơ đồ đặc trưng, trọng số xác định các đặc trưng là trọng số chia sẻ và độ lệch xác định một sơ đồ đặc trưng là độ lệch chia sẻ. Như vậy đơn giản nhất là qua các bước trên bài toán nhận dạng chỉ cần có một sơ đồ đặc trưng. Tuy nhiên để nhận dạng ảnh chính xác thì cần phải có nhiều hơn một sơ đồ đặc trưng.
28
Hình 2.7 Một sơ đồ đặc trưng
Trong hình 2.7, có 3 sơ đồ đặc trưng. Mỗi sơ đồ đặc trưng được xác định bởi một tập 5 × 5 trọng số chia sẻ và một độ lệch chia sẻ duy nhất. Kết quả là các mạng có thể phát hiện ba loại đặc trưng khác nhau, với mỗi đặc trưng được phát hiện trên toàn bộ ảnh.
Như vậy, trường tiếp nhận cục bộ thích hợp cho việc phân tách dữ liệu ảnh, giúp chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá phân lớp.
Một ưu điểm quan trọng của trọng số và độ lệch chia sẻ là nó làm giảm đáng kể số lượng các tham số liên quan đến một mạng tích chập. Đối với mỗi sơ đồ đặc trưng chúng ta cần 25 = 5 × 5 trọng số chia sẻ và một độ lệch chia sẻ duy nhất. Vì vậy, mỗi sơ đồ đặc trưng cần 26 tham số. Nếu bài toán cần có 20 sơ đồ đặc trưng thì cần 20 × 26 = 520 tham số để xác định lớp tích chập. Bây giờ hãy làm một phép so sánh, giả sử có lớp đầu tiên kết nối đầy đủ, tức là có 784 = 28 × 28 nơ-ron đầu vào, và số nơ-ron lớp ẩn bằng 30. Như vậy cần 784 × 30 trọng số, cộng thêm 30 độ lệch, tổng số 23.550 tham số. Nói cách khác, lớp kết nối đầy đủ sẽ cần số lượng tham số nhiều gấp 40 lần so với lớp tích chập.
Tóm lại, một tầng tích chập bao gồm các sơ đồ đặc trưng khác nhau. Mỗi một sơ đồ đặc trưng giúp nhận dạng một vài đặc trưng trong bức ảnh. Lợi ích lớn nhất của trọng số chia sẻ là giảm tối đa số lượng tham số trong CNN.
Ngoài các lớp tích chập vừa mô tả, mạng nơ-ron tích chập cũng chứa các lớp tổng hợp. Lớp tổng hợp thường được sử dụng ngay sau lớp tích chập. Những gì các lớp tổng hợp làm là đơn giản hóa các thông tin ở đầu ra từ các lớp tích chập.
Ví dụ, mỗi đơn vị trong lớp tổng hợp có thể thu gọn một vùng 2 × 2 nơ-ron trong lớp trước. Một thủ tục tổng hợp phổ biến là max-pooling. Trong max- pooling, một đơn vị tổng hợp chỉ đơn giản là kết quả đầu ra kích hoạt giá trị lớn nhất trong vùng đầu vào 2 × 2, như hình 2.8.