.4 Hình minh họa thông tin được truyền đi

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu (Trang 42)

Một khối mạng đều có khả năng ghi nhớ cũng như bỏ đi các thông tin không cần thiết bằng các cổng của nó, điều này được thực hiện bởi tầng mạng 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 và một phép nhân

43 Hình 4.0.5 Tầng mạng và phép nhân

Số lượng thông tin có thể đi qua được quyết định bởi hàm số 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 , miền giá trị của hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 nằm trong khoảng [0,1]. Nếu là 0 thì không cho thông tin đi qua, nếu là 1 nghĩa là cho tất cả thông tin đi qua

Để cho tiết hơn về LSTM sẽ đi sâu vào bên trong LSTM

Đầu tiên là đưa ra quyết định nhưng thông tin cần bỏ từ khối. Điều này được thực hiện bởi hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑, hay gọi với một tên khác là “tầng cổng quên”. Với đầu vào là ℎ𝑡−1 và 𝑥𝑡 đi qua hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑, vậy kết quả của hàm 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 là một số thuộc [0, 1] quyết định lượng thông tin đi qua.

Hình 4.0.6 Hình minh họa cổng quên

44 Sau khi quyết định thông tin đi qua cổng hay không thì bước tiếp theo sẽ là xem xét thông tin nào sẽ lưu lại trong khối. Ở bước này được chia thành hai phần

• Sử dụng sigmoid để quyết định thông tin được cập nhật, biến đổi thông tin bằng cách sử dụng hàm tạo ra giá trị mới để cập nhật trạng thái.

• Sử dụng kết quả trên để cập nhật trạng thái của khối

Hình 4.0.7 Hình mô tả cập nhật khối

𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) PT 5.2

𝐶̃ = tanh (𝑊𝑡 𝑐. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑐)

Như vậy trạng thái 𝐶𝑡−1 cũ trước đó được cập nhật thành trạng thái mới 𝐶𝑡 . Bằng cách nhân trang thái cũ với ft, bởi ft quyết định lượng thông tin sẽ quên, sau đó thêm thông tin mới vào, tức là cộng thêm 𝑖𝑡∗ 𝐶̃𝑡 . Như vậy trạng thái mới phụ thuộc nhiều vào quyết định trước đó

45 Hình 4.0.8 Hình mô tả quá trình cập nhật trạng thái mới

Phương trình tương đương

𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶̃𝑡 PT5.4

Mỗi một trạng thái của khối sẽ quyết định giá trị đầu ra, để xác định giá trị đầu ra cần thực hiện các bước sau

• Dùng tầng sigmoid để xác định thông tin cần đưa ra từ khối, sử dụng hàm 𝑡𝑎𝑛ℎ

chuyển trạng thái tế bào về khoảng [-1, 1]

• Thực hiện phép nhân của kết quả thực hiện bởi hàm tanh ở trên với giá trị đầu ra

Hình 4.0.9 Hình mô tả qúa trình xác định đầu ra

46 Tầng transcription là quá trình chuyển mỗi kết quả dự đoán của RNN sang chuỗi dự đoán. Ở đây, transcription tìm nhãn với xác suất lớn nhất trên mỗi dự đoán trên mỗi frame. Trong thực tế tồn tại hai mô hình để thực hiện việc chuyển đổi từ xác suất dự đoán sang nhãn tương ứng, đó là lexicon-free và lexicon-based. Trong đó lexicon là một tập các chuỗi có nhãn cố định. Người ta sử dụng CTC cho quá trình đào đạo và quá trình dự đoán, phương pháp này được đề xuất bởi Graves. Sau đây

sẽ trình bày cơ bản về phương pháp này.

Phương pháp này bao gồm hai quá trình là mã hóa và giải mã văn bản, quá trình từ chuỗi xác suất đưa ra chuỗi văn bản gọi là quá trình giải mã, bởi vì không giống quá trình đào tạo là sử dụng mã hóa, khi đã biết nhãn của chuỗi trước đó. Quá trình giả mã khác quá trình đào tạo ở chỗ chúng ta đã có một mô hình đã được đào tạo và chúng ta sử dụng nó để nhận dạng văn bản không nhìn thấy trước đó, nghĩa là chúng dựa vào ma trận đầu ra của mạng để xác định chuỗi. Nhưng chúng ta chưa biết nhãn thực tế của nó, mà đang mong muốn mô hình xác định nhãn đó. Nếu thử tất cả các trường hợp có thể nếu chỉ có một vài chuỗi cố định, nhưng thực tế thì không thể sử dụng cách này. Sử dụng một thuật toán đơn giản nhưng nó cho kết quả tốt với thực tế, gồm hai bước sau

• Tìm chuỗi tốt nhất bằng cách lấy kí tự có xác suất cao nhất tại tầng frame • Xóa bỏ nhưng tất cả nhưng “blank” từ chuỗi đó

Ví dụ: Các kí tự là “a”, “b” và “-”(blank)

Nhìn vào hình dưới, giả sử có 5 đặc trưng chuỗi, áp dụng đường mã hóa tốt nhất từ ma trận, ở to kí tự phù hợp nhất là “a” tương tự với t1 , t2. blank có điểm số cao nhất tại t3 , và cuối cùng tại t4 là “b”. Như vậy kết quả nhận được là “aaa-b”, sau đó xóa bỏ đi nhưng kí tự lặp lại gần nhau thì kết quả đạt được là “a-b”, sau đó xóa bỏ đi blank kết quả sẽ thu được là “ab”. Vậy đầu ra của nhận dạng chuỗi là “ab”

47 Hình 4.0.10 Hình mình họa chọn các giá trị có xác suất cao nhất

Nhưng kết quả trên chỉ là một cách xấp xỉ, dễ dàng nhận được kết quả từ cách trên, tuy nhiên thuật toán xấp xỉ thường cho kết quả tốt với thực tế

4.6Hàm mất mát

Định nghĩa tập đào tạo là 𝜒 = {𝐼𝑖, 𝑙𝑖}𝑖 trong đó 𝑙𝑖 là ảnh cho đào tạo, và 𝑙𝑖 là nhãn của ảnh tương ứng, hàm tối ưu là

𝛿 = − ∑ 𝑙𝑜𝑔𝑝(𝐼𝑖 𝐼𝑖,𝑙𝑖 𝜖𝜒

| 𝑦𝑖)

PT 5.7

Trong đó là chuỗi được sinh ra bởi recunrrent và convolution từ 𝐼𝑖

Nhận thấy rằng đầu vào hàm mất mát của mạng là ảnh và nhãn là nội dung trên ảnh đó.

48

4.7Tóm tắt cấu trúc mô hình

Kiểu Cấu hình

Transcription -

Bidirectional-LSTM hidden units:256

Bidirectional-LSTM hidden units:256

Map-to-Sequence - Convolution maps:512, k:2 × 2, s:1, p:0 MaxPooling Window:1 × 2, s:2 BatchNormalization - Convolution maps:512, k:3 × 3, s:1, p:1 BatchNormalization - Convolution maps:512, k:3 × 3, s:1, p:1 MaxPooling Window:1 × 2, s:2 Convolution maps:256, k:3 × 3, s:1, p:1 Convolution maps:256, k:3 × 3, s:1, p:1 MaxPooling Window:2 × 2, s:2 Convolution maps:128, k:3 × 3, s:1, p:1 MaxPooling Window:2 × 2, s:2 Convolution maps:64, k:3 × 3, s:1, p:1

Input W × 32 gray-scale image Bảng 4.2 Bảng các thành phần của mô hình CRNN

49

4.7.1 Cách tạo dữ liệu và đào tạo

Như đề cập từ trước thành công của một mô hình học máy hay học sâu phụ thuộc rất nhiều vào dữ liệu và chất lượng của dữ liệu. Đầu vào của mạng là một bức ảnh với độ cao cố định là 512, và nội dung của vùng ảnh đó.

Do hạn chế về dữ liệu và thời gian cũng như làm đa dạng dữ liệu, dữ liệu được chia thành hai phần là dữ liệu thật và dữ liệu sinh ra

4.7.2 Dữ liệu thật

Tận dụng dữ liệu đã gán nhãn của việc đào tạo mô hình pixellink, ở đây sẽ có một chút thay đổi, bởi vì đầu vào của mạng là ảnh có chiều cao 512 và vùng nhãn là nội dung của vùng ảnh đó, nên sau khi cắt từng vùng ảnh từ ảnh gốc thì cần thay đổi kích thước vùng ảnh đó phù hợp với kích thước đầu vào.

Ví dụ về ảnh đầu vào và nhãn của của vùng đó Ảnh đầu vào:

Hình 4.0.11 Hình ví dụ ảnh đầu vào Nhãn của nó là: 459709241360

4.7.3 Dữ liệu sinh

Sử dụng các kỹ thuật xử lý ảnh để vẽ các nội dung lên một bức ảnh, nhưng quá trình này do muốn tạo sự đa dạng của dữ liệu đào tạo nên sử dụng thêm các kỹ thuật xử lý ảnh để tạo mẫu sao giống với dữ liệu thực tế nhất

Tổng số dữ liệu thật là 1000 ảnh

Dữ liệu sinh ra tự động trong lúc đào tạo với tỉ lệ xác suất dùng ảnh thật để đào tạo là 0.7, và tỉ lệ xác suất dùng ảnh sinh để đào tạo là 0.3, quá trình sinh tự động này tránh việc chiếm nhiều bộ nhớ, vì sinh ra bao nhiêu thì bấy nhiêu được đưa vào đào tạo.

50 Bên cạnh nhưng điểm lợi thế của quá trình đào tạo cũng như dự đoán dự vào đầu vào là ảnh, nhưng bên cạnh đó mô hình gặp một số hạn chế nhất định như các bài toán với các phông chữ khác nhau phải đào tạo dưới các phông tương ứng hoặc gần giống, nhưng lỗi thường gặp như dự đoán sai các kí tự có phân phối gần giống nhau như các cặp sau:

• Chữ cái “l” và số “1” • Số “3” và số “8” • Chữ “p” và chữ “q”

Những chữ cái trong các phông khác nhau có phân phối gần nhau cũng thường bị nhầm, và chuỗi càng dài thì xác suất đúng toàn bộ chữ cái trong chuỗi đó bị hạn chế, nên đối với một số bài toán thực tế ứng thì sau bước này cần phải chỉnh sửa thông tin để kết quả đạt được tốt hơn.

4.8 Kết luận chương

Trong chương 4 luận văn nghiên cứu về mạng nơ ron hồi quy xoắn, Convolution recurren neural network(CRNN) đây là mạng nơ ron sử dụng học sâu với sự kết hợp của DCNN và RNN tạo nên cấu trúc CRNN với các lợi thế hơn các cấu trúc khác:

- Có thể học trực tiếp chuỗi mà không cần chính xác vị trí của các phần tử trong chuỗi.

- Có thể trích xuất trực tiếp các đặc trưng từ ảnh không yêu cầu xử lý thủ công cũng như tiền xử lý.

- Có tính chất RNN có thể sinh ra một chuỗi của các đối tượng.

- Không bị ràng buộc bởi độ dài của chuỗi, chỉ yêu cầu chuẩn hóa về chiều cao trong cả hai quá trình đào tạo và kiểm tra.

Một phần của tài liệu (Luận văn thạc sĩ) Nghiên cứu bài toán bóc tác thông tin trong chứng minh thư sử dụng học sâu (Trang 42)

Tải bản đầy đủ (PDF)

(57 trang)