SlideShare a Scribd company logo
1 of 45
Download to read offline
SINH MÔ TẢ ẢNH TỰ ĐỘNG SỬ DỤNG
MẠNG NƠ-RON SÂU
Giáo viên hướng dẫn: ThS.Ngô Văn Linh
Sinh viên thực hiện : Tô Văn Lâm
Lớp KSTN-CNTT K58
ĐỀ TÀI:
1. Giới thiệu bài toán
Group people are sitting in
front the camp.
2
2. Tiềm năng ứng dụng
■ Giám sát camera an ninh
3
2. Tiềm năng ứng dụng
■ Hỗ trợ người mù đi đường
4
2. Tiềm năng ứng dụng
■ Tìm kiếm ảnh
5
3. Công việc liên quan
■ CNN-RNN LSTM
CNN
RNN
LSTM 6
3. Công việc liên quan
■ Word Embedding
7
3. Công việc liên quan
■ Mô hình của của Vinyals và các đồng nghiệp
8
3. Công việc liên quan
■ Mô hình của của Vinyals và các đồng nghiệp
9
3. Công việc liên quan
■ Mô hình của của Vinyals và các đồng nghiệp
Nhược điểm:
Mất mát thông
tin ảnh
10
4. Mô hình chính
■ CNN-RNN
11
■ CNN-LSTM
4. Mô hình chính
12
4. Mô hình chính
■ Phương pháp sinh mô tả thông thường
CNN ℎ1
𝑥0
STR
𝑦0
cat
Lấy
mẫu
13
4. Mô hình chính
■ Phương pháp sinh mô tả thông thường
CNN ℎ1
𝑥0
STR
𝑦0
𝑥1
cat
ℎ2
𝑦1
catch
14
4. Mô hình chính
■ Phương pháp sinh mô tả thông thường
CNN ℎ1
𝑥0
STR
𝑦0
𝑥1
cat
ℎ2
𝑦1
𝑥2
catch
𝑥3
mouse
ℎ3 ℎ4
𝑦3
EOS
15
4. Mô hình chính
■ Phương pháp sinh mô tả sử dụng Beam Search
16
5. Thực nghiệm
■ Môi trường: Python 3.5 , Numpy, Tensorflow 1.8
■ Tài nguyên: Card đồ họa NVIDIA GEFORCE 940M, CPU 4200U, RAM
8GB.
■ Dữ liệu thử nghiệm:
– Flickr8K
– Flickr30K
– Coco
■ Sử dụng độ đo BLEU, METEOR
17
Kết quả thực nghiệm
Flickr8K
Mô hình B-1 B-2 B-3 B-4 METEOR
J.Mao 58 28 23 - -
Google NIC 63 41 27 - -
Andrej Karpathy 57.9 38.3 24.5 16.0 16.7
Không dùng
Beam Search
47.49 28.37 16.42 9.36 16.88
Beam Search
K=10
47.58 29.23 17.45 10.35 17.66
18
Kết quả thực nghiệm
Flickr30K
Mô hình B-1 B-2 B-3 B-4 METEOR
J.Mao 55 24 20 - -
Google NIC 66.3 42.3 27.7 18.3 -
Andrej Karpathy 57.3 36.9 24.0 15.7 15.3
Không dùng
Beam Search
51.30 29.27 16.18 9.05 13.8
Beam Search
K=10
50.16 28.65 16.16 9.19 13.9
19
Kết quả thực nghiệm
Coco
Mô hình B-1 B-2 B-3 B-4 METEOR
Nearest Neighbor 48.0 28.1 16.6 10.0 15.7
Google NIC 66.6 46.1 32.9 24.6 -
Andrej Karpathy 62.5 45.0 32.1 23.0 19.5
Không dùng
Beam Search
56.7 36.4 22.8 14.2 18.1
Beam Search
K=4
54.1 35.8 23.6 15.8 19.0
20
Demo
Man and woman
are posting
picture.
The brown and
white dog is
swimming in the
pool. 21
EM XIN CHÂN THÀNH
CẢM ƠN!
22
The end.
23
Phụ lục 1: Mô hình sinh mô tả ảnh theo
bước lặp
24
Phụ lục 1: Mô hình sinh mô tả ảnh theo
bước lặp
Đầu vào: Một ảnh
và một phần câu.
Đầu ra: Từ tiếp
theo trong câu.
Phụ lục: Mô hình sinh mô tả ảnh theo
bước lặp
Phụ lục 2: Sử dụng Word2vec trong bài
toán sinh mô tả ảnh
27
Phụ lục 2: Sử dụng Word2vec trong bài
toán sinh mô tả ảnh
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Loại bỏ các stop word
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Loại bỏ các từ có tần số xuất hiện quá thấp trong bộ dữ liệu
– Một ảnh đi kèm 5 mô tả chọn ngưỡng tần số là 5
– Bộ dữ liệu 30.000 từ giảm xuống còn 7.000, bộ dữ liệu 8.000 còn 3.000
A Husky dog jump into the blue sunny sky.
dog jump into the blue sky.
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Chọn ngưỡng dài nhất cho câu:
– Bộ dữ liệu Flickr8K có 150.000 câu chỉ có hơn 100 câu dài hơn 50 từ nhưng
câu dài nhất lại có 90 từ
– Cắt phần đuôi của các câu dài.
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Bổ xung ‘EOS’ vào cuối mỗi câu
– Vì lúc sinh câu không mong muốn sinh câu đủ 50 từ mà cần sinh có điểm dừng
tức là sinh đến từ ‘EOS’
A Husky dog jump into the blue sunny sky.
dog jump into the blue sky EOS.
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Lựa chọn kích thước của vector mã hóa từ (100-300):
– Kích thước quá nhỏ không sinh được từ mới, chỉ lặp 1 2 từ ví dụ “the man is
the man is the ..”
– Kích thước quá lớn các từ tự sinh ra nhau
Sử dụng Word2vec trong bài toán sinh
mô tả ảnh
Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh
■ Loại bỏ các stop word
■ Loại bỏ các từ có tần số xuất hiện quá thấp trong bộ dữ liệu
■ Chọn ngưỡng dài nhất cho câu.
■ Bổ xung ‘EOS’ vào cuối mỗi câu
■ Lựa chọn kích thước của vector mã hóa từ (100-300)
■ Đánh số thứ tự các từ trong bộ dữ liệu theo thứ tự giảm dần của tần số xuất hiện
Huấn luyện đa mô hình CNN-RNN
■ Huấn luyện : “a dog jump to the blue sunny sky EOS”
■ Mã hóa : “STR dog jump to the blue sky”
■ Mong muốn : “dog jump to the sky EOS EOS EOS...”
STR luôn là vector không.
Phụ lục 3: Các vấn đề xung quanh
Beam Search
36
Áp dụng giải thuật Beam Search cho
quá trình sinh câu
■ Chỉ toàn các câu ngắn
■ Chỉ toàn sinh câu dài 50 từ.
Áp dụng giải thuật Beam Search cho
quá trình sinh câu
Sử dụng 2 phương pháp tham lam như sau:
■ Tham lam số từ trong câu: Không thêm các câu có chữ ‘EOS’ vào danh sách câu
ứng viên nếu số từ trong câu này ít ( nhỏ hơn 7).
Dog is jumping EOS. Dog is jumping into the sky EOS
The dog is jumping into the blue sky EOS.
Áp dụng giải thuật Beam Search cho
quá trình sinh câu
Sử dụng 2 phương pháp tham lam như sau:
■ Tham lam theo nội dung: Nếu trong danh sách câu ứng viên hiện tại xuất hiện một
câu có từ ‘EOS’ thì tiến hành kiểm tra xem câu này có phải là câu có điểm số cao
nhất hiện tại không.
– Nếu phải thì ngừng tìm kiếm, trả về câu mô tả là câu này.
– Nếu không phải thì bỏ câu này ra khỏi danh sách K câu ứng viên, tiếp tục tìm
kiếm tới khi tìm được câu có từ ‘EOS’ và là câu có điểm số cao nhất trong các
câu ứng viên. blue 0.2
sky 0.15
white 0.1
nice 0.05
EOS 0.03
… …
Phụ lục 4: Các độ đo BLEU và METEOR
40
Candidate có 18 từ
3 Reference
• unigram precision p1 =15/18
• bigram precision p2 = 10/17
• trigram precision p3 =5/16
𝑇ổ𝑛𝑔 𝑠ố 𝑛 − 𝑔𝑟𝑎𝑚 𝑡ì𝑚 đượ𝑐 ở 𝑅𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒
𝑇ổ𝑛𝑔 𝑠ố 𝑝ℎầ𝑛 𝑛 − 𝑔𝑟𝑎𝑚 𝑡ì𝑚 đượ𝑐
Ví dụ về N-gram
BLEU
42
• r là tổng số lượng cặp tương ứng từ ứng viên tới câu tham khảo
• C là tổng số phần từ trong câu ứng viên
METEOR
■ Khác với BLEU chỉ sử dụng precision thì METEOR sử dụng them cả recall.
■ METEOR chỉ tính toán dựa trên các cặp từ đôi.
METEOR
• p thể hiện số lượng các cặp từ có ánh xạ mà không kề nhau trong câu ứng viện.
• c là số lượng các cụm từ có ánh xạ trong câu ứng viên c càng nhỏ thì các cặp kề nhau
càng nhiều
Phụ lục 5: Mở rộng mô hình sinh đa mô
tả ảnh sử dụng RCNN

Automatically Generate Textual Descriptions for Photographs with Deep Learning

  • 1. SINH MÔ TẢ ẢNH TỰ ĐỘNG SỬ DỤNG MẠNG NƠ-RON SÂU Giáo viên hướng dẫn: ThS.Ngô Văn Linh Sinh viên thực hiện : Tô Văn Lâm Lớp KSTN-CNTT K58 ĐỀ TÀI:
  • 2. 1. Giới thiệu bài toán Group people are sitting in front the camp. 2
  • 3. 2. Tiềm năng ứng dụng ■ Giám sát camera an ninh 3
  • 4. 2. Tiềm năng ứng dụng ■ Hỗ trợ người mù đi đường 4
  • 5. 2. Tiềm năng ứng dụng ■ Tìm kiếm ảnh 5
  • 6. 3. Công việc liên quan ■ CNN-RNN LSTM CNN RNN LSTM 6
  • 7. 3. Công việc liên quan ■ Word Embedding 7
  • 8. 3. Công việc liên quan ■ Mô hình của của Vinyals và các đồng nghiệp 8
  • 9. 3. Công việc liên quan ■ Mô hình của của Vinyals và các đồng nghiệp 9
  • 10. 3. Công việc liên quan ■ Mô hình của của Vinyals và các đồng nghiệp Nhược điểm: Mất mát thông tin ảnh 10
  • 11. 4. Mô hình chính ■ CNN-RNN 11
  • 12. ■ CNN-LSTM 4. Mô hình chính 12
  • 13. 4. Mô hình chính ■ Phương pháp sinh mô tả thông thường CNN ℎ1 𝑥0 STR 𝑦0 cat Lấy mẫu 13
  • 14. 4. Mô hình chính ■ Phương pháp sinh mô tả thông thường CNN ℎ1 𝑥0 STR 𝑦0 𝑥1 cat ℎ2 𝑦1 catch 14
  • 15. 4. Mô hình chính ■ Phương pháp sinh mô tả thông thường CNN ℎ1 𝑥0 STR 𝑦0 𝑥1 cat ℎ2 𝑦1 𝑥2 catch 𝑥3 mouse ℎ3 ℎ4 𝑦3 EOS 15
  • 16. 4. Mô hình chính ■ Phương pháp sinh mô tả sử dụng Beam Search 16
  • 17. 5. Thực nghiệm ■ Môi trường: Python 3.5 , Numpy, Tensorflow 1.8 ■ Tài nguyên: Card đồ họa NVIDIA GEFORCE 940M, CPU 4200U, RAM 8GB. ■ Dữ liệu thử nghiệm: – Flickr8K – Flickr30K – Coco ■ Sử dụng độ đo BLEU, METEOR 17
  • 18. Kết quả thực nghiệm Flickr8K Mô hình B-1 B-2 B-3 B-4 METEOR J.Mao 58 28 23 - - Google NIC 63 41 27 - - Andrej Karpathy 57.9 38.3 24.5 16.0 16.7 Không dùng Beam Search 47.49 28.37 16.42 9.36 16.88 Beam Search K=10 47.58 29.23 17.45 10.35 17.66 18
  • 19. Kết quả thực nghiệm Flickr30K Mô hình B-1 B-2 B-3 B-4 METEOR J.Mao 55 24 20 - - Google NIC 66.3 42.3 27.7 18.3 - Andrej Karpathy 57.3 36.9 24.0 15.7 15.3 Không dùng Beam Search 51.30 29.27 16.18 9.05 13.8 Beam Search K=10 50.16 28.65 16.16 9.19 13.9 19
  • 20. Kết quả thực nghiệm Coco Mô hình B-1 B-2 B-3 B-4 METEOR Nearest Neighbor 48.0 28.1 16.6 10.0 15.7 Google NIC 66.6 46.1 32.9 24.6 - Andrej Karpathy 62.5 45.0 32.1 23.0 19.5 Không dùng Beam Search 56.7 36.4 22.8 14.2 18.1 Beam Search K=4 54.1 35.8 23.6 15.8 19.0 20
  • 21. Demo Man and woman are posting picture. The brown and white dog is swimming in the pool. 21
  • 22. EM XIN CHÂN THÀNH CẢM ƠN! 22
  • 24. Phụ lục 1: Mô hình sinh mô tả ảnh theo bước lặp 24
  • 25. Phụ lục 1: Mô hình sinh mô tả ảnh theo bước lặp Đầu vào: Một ảnh và một phần câu. Đầu ra: Từ tiếp theo trong câu.
  • 26. Phụ lục: Mô hình sinh mô tả ảnh theo bước lặp
  • 27. Phụ lục 2: Sử dụng Word2vec trong bài toán sinh mô tả ảnh 27
  • 28. Phụ lục 2: Sử dụng Word2vec trong bài toán sinh mô tả ảnh
  • 29. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Loại bỏ các stop word
  • 30. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Loại bỏ các từ có tần số xuất hiện quá thấp trong bộ dữ liệu – Một ảnh đi kèm 5 mô tả chọn ngưỡng tần số là 5 – Bộ dữ liệu 30.000 từ giảm xuống còn 7.000, bộ dữ liệu 8.000 còn 3.000 A Husky dog jump into the blue sunny sky. dog jump into the blue sky.
  • 31. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Chọn ngưỡng dài nhất cho câu: – Bộ dữ liệu Flickr8K có 150.000 câu chỉ có hơn 100 câu dài hơn 50 từ nhưng câu dài nhất lại có 90 từ – Cắt phần đuôi của các câu dài.
  • 32. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Bổ xung ‘EOS’ vào cuối mỗi câu – Vì lúc sinh câu không mong muốn sinh câu đủ 50 từ mà cần sinh có điểm dừng tức là sinh đến từ ‘EOS’ A Husky dog jump into the blue sunny sky. dog jump into the blue sky EOS.
  • 33. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Lựa chọn kích thước của vector mã hóa từ (100-300): – Kích thước quá nhỏ không sinh được từ mới, chỉ lặp 1 2 từ ví dụ “the man is the man is the ..” – Kích thước quá lớn các từ tự sinh ra nhau
  • 34. Sử dụng Word2vec trong bài toán sinh mô tả ảnh Xử lý dữ liệu đầu vào cho bài toán sinh mô tả ảnh ■ Loại bỏ các stop word ■ Loại bỏ các từ có tần số xuất hiện quá thấp trong bộ dữ liệu ■ Chọn ngưỡng dài nhất cho câu. ■ Bổ xung ‘EOS’ vào cuối mỗi câu ■ Lựa chọn kích thước của vector mã hóa từ (100-300) ■ Đánh số thứ tự các từ trong bộ dữ liệu theo thứ tự giảm dần của tần số xuất hiện
  • 35. Huấn luyện đa mô hình CNN-RNN ■ Huấn luyện : “a dog jump to the blue sunny sky EOS” ■ Mã hóa : “STR dog jump to the blue sky” ■ Mong muốn : “dog jump to the sky EOS EOS EOS...” STR luôn là vector không.
  • 36. Phụ lục 3: Các vấn đề xung quanh Beam Search 36
  • 37. Áp dụng giải thuật Beam Search cho quá trình sinh câu ■ Chỉ toàn các câu ngắn ■ Chỉ toàn sinh câu dài 50 từ.
  • 38. Áp dụng giải thuật Beam Search cho quá trình sinh câu Sử dụng 2 phương pháp tham lam như sau: ■ Tham lam số từ trong câu: Không thêm các câu có chữ ‘EOS’ vào danh sách câu ứng viên nếu số từ trong câu này ít ( nhỏ hơn 7). Dog is jumping EOS. Dog is jumping into the sky EOS The dog is jumping into the blue sky EOS.
  • 39. Áp dụng giải thuật Beam Search cho quá trình sinh câu Sử dụng 2 phương pháp tham lam như sau: ■ Tham lam theo nội dung: Nếu trong danh sách câu ứng viên hiện tại xuất hiện một câu có từ ‘EOS’ thì tiến hành kiểm tra xem câu này có phải là câu có điểm số cao nhất hiện tại không. – Nếu phải thì ngừng tìm kiếm, trả về câu mô tả là câu này. – Nếu không phải thì bỏ câu này ra khỏi danh sách K câu ứng viên, tiếp tục tìm kiếm tới khi tìm được câu có từ ‘EOS’ và là câu có điểm số cao nhất trong các câu ứng viên. blue 0.2 sky 0.15 white 0.1 nice 0.05 EOS 0.03 … …
  • 40. Phụ lục 4: Các độ đo BLEU và METEOR 40
  • 41. Candidate có 18 từ 3 Reference • unigram precision p1 =15/18 • bigram precision p2 = 10/17 • trigram precision p3 =5/16 𝑇ổ𝑛𝑔 𝑠ố 𝑛 − 𝑔𝑟𝑎𝑚 𝑡ì𝑚 đượ𝑐 ở 𝑅𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑒 𝑇ổ𝑛𝑔 𝑠ố 𝑝ℎầ𝑛 𝑛 − 𝑔𝑟𝑎𝑚 𝑡ì𝑚 đượ𝑐 Ví dụ về N-gram
  • 42. BLEU 42 • r là tổng số lượng cặp tương ứng từ ứng viên tới câu tham khảo • C là tổng số phần từ trong câu ứng viên
  • 43. METEOR ■ Khác với BLEU chỉ sử dụng precision thì METEOR sử dụng them cả recall. ■ METEOR chỉ tính toán dựa trên các cặp từ đôi.
  • 44. METEOR • p thể hiện số lượng các cặp từ có ánh xạ mà không kề nhau trong câu ứng viện. • c là số lượng các cụm từ có ánh xạ trong câu ứng viên c càng nhỏ thì các cặp kề nhau càng nhiều
  • 45. Phụ lục 5: Mở rộng mô hình sinh đa mô tả ảnh sử dụng RCNN