Categories
AI & Machine Learning

Nền tảng học sâu – RNNs, CNNs

PHÂN LOẠI PHÂN BIỆT VÀ TẠO SINH

Tạo sinh so với Phân biệt

  • Phân loại tạo sinh:

– Ví dụ: Naïve Bayes

– Định nghĩa mô hình đồng thời của các quan sát x và nhãn y: p(x, y)

– Học tập tối đa hóa khả năng (đồng thời)

– Sử dụng quy tắc Bayes để phân loại dựa trên hậu nghiệm: p(y|x) = p(x|y)p(y)/p(x)

  • Phân loại phân biệt:

– Ví dụ: Hồi quy logistic

– Mô hình hóa trực tiếp điều kiện: p(y|x)

– Học tập tối đa hóa khả năng có điều kiện

Tạo sinh so với Phân biệt

HÌNH 26.01. Tạo sinh so với Phân biệt.

Ước lượng MAP và Chính quy hóa

HÌNH 26.02. Ước lượng MAP và Chính quy hóa.

phù hợp với dữ liệu

giữ cho mô hình đơn giản

Ví dụ: Chính quy hóa L2 tương đương với Gaussian tiên nghiệm

Tạo sinh so với Phân biệt

Phân tích mẫu hữu hạn (Ng & Jordan, 2001)

[Giả sử chúng ta đang học từ một tập dữ liệu đào tạo hữu hạn]

Bayes ngây thơ và hồi quy logistic tạo thành một cặp mô hình phân biệt-tạo sinh:

Nếu các giả định của mô hình là đúng: khi lượng dữ liệu đào tạo tăng, Gaussian Naïve Bayes và hồi quy logistic tiếp cận cùng một ranh giới quyết định (tuyến tính)!

Hơn nữa, Gaussian Naïve Bayes là một trình học hiệu quả hơn (yêu cầu ít mẫu hơn) so với Hồi quy logistic

Nếu giả định mô hình không chính xác: Hồi quy logistic có lỗi tiệm cận thấp hơn và hoạt động tốt hơn Gaussian Naïve Bayes

HÌNH 26.03. Tạo sinh so với Phân biệt.

Slide do William Cohen cung cấp

HÌNH 26.04. Tạo sinh so với Phân biệt.

Naïve Bayes đưa ra những giả định mạnh mẽ hơn về dữ liệu nhưng cần ít ví dụ hơn để ước tính các tham số

“Về phân loại phân biệt so với phân loại tạo sinh: ….” Andrew Ng và Michael Jordan, NIPS 2001.

Slide do William Cohen cung cấp

Naïve Bayes so với Logistic Reg.

Đặc trưng

Bayes ngây thơ:

Các đặc trưng x được coi là độc lập có điều kiện với y. (tức là Giả định Bayes ngây thơ)

Hồi quy logistic:

Không có giả định nào được đưa ra về hình dạng của các đặc trưng x. Chúng có thể phụ thuộc và tương quan theo bất kỳ cách nào.

Naïve Bayes so với Logistic Reg.

Học tập (Ước lượng tham số)

Bayes ngây thơ:

Các tham số không phụ thuộc lẫn nhau → Giải pháp dạng đóng cho MLE

Hồi quy logistic:

Các tham số phụ thuộc lẫn nhau → Không có giải pháp dạng đóng – thay vào đó phải sử dụng các kỹ thuật tối ưu hóa lặp lại

Naïve Bayes so với Logistic Reg.

Học tập (Ước tính tham số MAP)

Bayes ngây thơ Bernoulli:

Các tham số là xác suất → tiên nghiệm Beta (thường là) đẩy xác suất cách xa cực trị không / một

Hồi quy logistic:

Các tham số không phải là xác suất → tiên nghiệm Gaussian khuyến khích các tham số gần bằng không

(thực sự đẩy xác suất ra khỏi cực trị 0 / 1)

Naïve Bayes so với Hồi quy logistic

Câu hỏi:

Bạn vừa mới bắt đầu làm việc tại một công ty mới sản xuất những đồng xu lớn một cách buồn cười. Người quản lý của bạn yêu cầu bạn xây dựng một bộ phân loại nhị phân nhận hình ảnh của một đồng xu (trên dây chuyền lắp ráp nhà máy) và dự đoán xem nó có khiếm khuyết hay không.

Bạn sẽ đặt những câu hỏi tiếp theo nào cho quản lý để quyết định giữa việc sử dụng bộ phân loại Naïve Bayes hay Logistic Regression?

Trả lời:

BỨC TRANH TỔNG THỂ

Bức tranh tổng thể ML

HÌNH 26.05. Bức tranh tổng thể ML.

Phân loại và hồi quy: Bức tranh toàn cảnh

HÌNH 26.06. Phân loại và hồi quy: Bức tranh toàn cảnh.

Truyền ngược và Học sâu

Mạng nơ-ron tích chập (CNN) và mạng nơ-ron hồi tiếp mạng (RNN) chỉ đơn giản là các đồ thị tính toán phức tạp (hay còn gọi là hàm giả thuyết hoặc hàm quyết định).

Công thức của chúng ta cũng áp dụng cho các mô hình này và (một lần nữa) dựa vào thuật toán truyền ngược để tính toán độ dốc cần thiết.

KIẾN THỨC NỀN: CÔNG NGHỆ NGÔN NGỮ CỦA CON NGƯỜI

Công nghệ ngôn ngữ của con người

Nhận dạng giọng nói

HÌNH 26.07a. Công nghệ ngôn ngữ của con người.

Dịch máy

Tóm tắt

HÌNH 26.07b. Công nghệ ngôn ngữ của con người.

RNN hai chiều

RNN hiện là kiến trúc nền tảng phổ biến trong các phương pháp học sâu để xử lý ngôn ngữ tự nhiên

HÌNH 26.08. RNN hai chiều.

đầu ra xác suất

các trạng thái ẩn từ phải sang trái

các trạng thái ẩn từ trái sang phải

nhúng từ

KIẾN THỨC NỀN: MÔ HÌNH NGÔN NGỮ N-GRAM

Mô hình ngôn ngữ n-Gram

  • Mục tiêu: Tạo ra những câu trông thực tế ở ngôn ngữ con người
  • Ý tưởng chính: điều kiện của n-1 từ cuối cùng để lấy mẫu từ thứ n

HÌNH 26.09. Mô hình ngôn ngữ n-Gram.

Mô hình ngôn ngữ n-Gram

Câu hỏi: Làm thế nào chúng ta có thể xác định phân phối xác suất trên một chuỗi có độ dài T?

HÌNH 26.10. Mô hình ngôn ngữ n-Gram.

Mô hình ngôn ngữ n-Gram

Câu hỏi: Làm thế nào chúng ta có thể xác định phân phối xác suất trên một chuỗi có độ dài T?

HÌNH 26.11. Mô hình ngôn ngữ n-Gram.

Mô hình ngôn ngữ n-Gram

Câu hỏi: Làm thế nào chúng ta có thể xác định phân phối xác suất trên một chuỗi có độ dài T?

HÌNH 26.12. Mô hình ngôn ngữ n-Gram.

Lưu ý: Đây được gọi là mô hình vì chúng ta đã đưa ra một số giả định về số lượng từ trước để điều kiện hóa (tức là chỉ có n-1 từ)

Học mô hình n-Gram

Câu hỏi: Làm thế nào chúng ta học được xác suất cho Mô hình n-Gram?

HÌNH 26.13. Học mô hình n-Gram.

Học mô hình n-Gram

Câu hỏi: Làm thế nào chúng ta học được xác suất cho Mô hình n-Gram?

Trả lời: Từ dữ liệu! Chỉ cần đếm tần số n-gram

HÌNH 26.14. Học mô hình n-Gram.

Lấy mẫu từ Mô hình ngôn ngữ

Câu hỏi: Làm thế nào để lấy mẫu từ Mô hình ngôn ngữ?

Trả lời:

  1. Coi mỗi phân phối xác suất như một con xúc xắc có trọng số (50k mặt)
  2. Chọn con xúc xắc tương ứng với p(wt | wt-2, wt-1)
  3. Tung con xúc xắc đó và tạo ra bất kỳ từ wt nào mà nó rơi xuống ngửa lên
  4. Lặp lại

HÌNH 26.15. Lấy mẫu từ Mô hình ngôn ngữ.

Lấy mẫu từ Mô hình ngôn ngữ

Câu hỏi: Làm thế nào để lấy mẫu từ Mô hình ngôn ngữ?

Trả lời:

  1. Coi mỗi phân phối xác suất như một con xúc xắc có trọng số (50k mặt)
  2. Chọn con xúc xắc tương ứng với p(wt | wt-2, wt-1)
  3. Tung con xúc xắc đó và tạo ra bất kỳ từ wt nào mà nó rơi xuống ngửa lên
  4. Lặp lại

Training Data (Shakespeaere)

I tell you, friends, most charitable care
ave the patricians of you. For your
wants, Your suffering in this dearth,
you may as well Strike at the heaven
with your staves as lift them Against
the Roman state, whose course will on
The way it takes, cracking ten thousand
curbs Of more strong link asunder than
can ever Appear in your impediment.
For the dearth, The gods, not the
patricians, make it, and Your knees to
them, not arms, must help.

5-Gram Model

Approacheth, denay. dungy
Thither! Julius think: grant,–O
Yead linens, sheep’s Ancient,
Agreed: Petrarch plaguy Resolved
pear! observingly honourest
adulteries wherever scabbard
guess; affirmation–his monsieur;
died. jealousy, chequins me.
Daphne building. weakness: sun-
rise, cannot stays carry’t,
unpurposed. prophet-like drink;
back-return ‘gainst surmise
Bridget ships? wane; interim?
She’s striving wet;

MẠNG NƠ-RON HỒI TIẾP (RNN) – MÔ HÌNH NGÔN NGỮ

Mạng nơ-ron hồi tiếp (RNN)

HÌNH 26.16. Mạng nơ-ron hồi tiếp (RNN).

đầu vào: x

đơn vị ẩn: h

đầu ra: y

phi tuyến tính: H

Định nghĩa của RNN:

Quy tắc chuỗi xác suất

Câu hỏi: Làm thế nào chúng ta có thể xác định phân phối xác suất trên một chuỗi có độ dài T?

HÌNH 26.17. Quy tắc chuỗi xác suất.

Lưu ý: Đây được gọi là quy tắc chuỗi vì nó luôn đúng với mọi phân phối xác suất

Mô hình ngôn ngữ RNN

HÌNH 26.18. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ

Mô hình ngôn ngữ RNN

HÌNH 26.19. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.20. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.21. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.22. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.23. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.24. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

Câu hỏi: Làm thế nào chúng ta có thể tạo ra một bản phân phối p(wt|ht) từ ht?

Trả lời:

HÌNH 26.25. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.26. Mô hình ngôn ngữ RNN.

Ý chính:

(1) chuyển đổi tất cả các từ trước đó thành một vectơ có độ dài cố định

(2) định nghĩa phân phối p(wt | fθ(wt-1, …, w1)) có điều kiện trên vectơ ht = fθ(wt-1, …, w1)

Mô hình ngôn ngữ RNN

HÌNH 26.27. Mô hình ngôn ngữ RNN.

p(w1, w2, w3, … , wT) = p(w1 | h1) p(w2 | h2) … p(w2 | hT)

Lấy mẫu từ Mô hình ngôn ngữ

Câu hỏi: Làm thế nào để lấy mẫu từ Mô hình ngôn ngữ?

Trả lời:

  1. Coi mỗi phân phối xác suất như một con xúc xắc có trọng số (50k mặt)
  2. Chọn con xúc xắc tương ứng với p(wt | wt-2, wt-1)
  3. Tung con xúc xắc đó và tạo ra bất kỳ từ wt nào mà nó rơi xuống ngửa lên
  4. Lặp lại

HÌNH 26.28. Lấy mẫu từ Mô hình ngôn ngữ.

Cách tiếp cận lấy mẫu tương tự mà chúng ta sử dụng cho Mô hình ngôn ngữ n-Gram cũng áp dụng được ở đây cho một Mô hình ngôn ngữ RNN

Lấy mẫu từ RNN-LM

HÌNH 26.29. Lấy mẫu từ RNN-LM.

Đâu mới là Shakespeare thực sự?!

Ví dụ từ http://karpathy.github.io/2015/05/21/rnn-effectiveness/

Lấy mẫu từ RNN-LM

Shakespeare’s As You Like It

VIOLA: Why, Salisbury must find his flesh and thought
That which I am not aps, not a man and in fire, To show
the reining of the raven and the wars To grace my hand
reproach within, and not a fair are hand, That Caesar and
my goodly father’s world; When I was heaven of
presence and our fleets, We spare with hours, but cut thy
council I am great, Murdered and by thy master’s ready
there My power to give thee but so much as hell: Some
service in the noble bondman here, Would show him to
her wine.

KING LEAR: O, if you were a feeble sight, the courtesy of
your law, Your sight and several breath, will wear the
gods With his heads, and my hands are wonder’d at the
deeds, So drop upon your lordship’s head, and your
opinion Shall be against your honour.

RNN-LM Sample

CHARLES: Marry, do I, sir; and I came to acquaint you
with a matter. I am given, sir, secretly to understand that
your younger brother Orlando hath a disposition to come
in disguised against me to try a fall. To-morrow, sir, I
wrestle for my credit; and he that escapes me without
some broken limb shall acquit him well. Your brother is
but young and tender; and, for your love, I would be
loath to foil him, as I must, for my own honour, if he
come in: therefore, out of my love to you, I came hither
to acquaint you withal, that either you might stay him
from his intendment or brook such disgrace well as he
shall run into, in that it is a thing of his own search and
altogether against my will.

TOUCHSTONE: For my part, I had rather bear with you
than bear you; yet I should bear no cross if I did bear you,
for I think you have no money in your purse.

Ví dụ từ http://karpathy.github.io/2015/05/21/rnn-effectiveness/

Lấy mẫu từ RNN-LM

RNN-LM Sample

VIOLA: Why, Salisbury must find his flesh and thought
That which I am not aps, not a man and in fire, To show
the reining of the raven and the wars To grace my hand
reproach within, and not a fair are hand, That Caesar and
my goodly father’s world; When I was heaven of
presence and our fleets, We spare with hours, but cut thy
council I am great, Murdered and by thy master’s ready
there My power to give thee but so much as hell: Some
service in the noble bondman here, Would show him to
her wine.

KING LEAR: O, if you were a feeble sight, the courtesy of
your law, Your sight and several breath, will wear the
gods With his heads, and my hands are wonder’d at the
deeds, So drop upon your lordship’s head, and your
opinion Shall be against your honour.

Shakespeare’s As You Like It

CHARLES: Marry, do I, sir; and I came to acquaint you
with a matter. I am given, sir, secretly to understand that
your younger brother Orlando hath a disposition to come
in disguised against me to try a fall. To-morrow, sir, I
wrestle for my credit; and he that escapes me without
some broken limb shall acquit him well. Your brother is
but young and tender; and, for your love, I would be
loath to foil him, as I must, for my own honour, if he
come in: therefore, out of my love to you, I came hither
to acquaint you withal, that either you might stay him
from his intendment or brook such disgrace well as he
shall run into, in that it is a thing of his own search and
altogether against my will.

TOUCHSTONE: For my part, I had rather bear with you
than bear you; yet I should bear no cross if I did bear you,
for I think you have no money in your purse.

Ví dụ từ http://karpathy.github.io/2015/05/21/rnn-effectiveness/

Lấy mẫu từ RNN-LM

HÌNH 26.30. Lấy mẫu từ RNN-LM.

Đâu mới là Shakespeare thực sự?!

Ví dụ từ http://karpathy.github.io/2015/05/21/rnn-effectiveness/

MÔ HÌNH TRÌNH TỰ ĐẾN TRÌNH TỰ

Mô hình trình tự đến trình tự

Nhận dạng giọng nói

HÌNH 26.31a. Mô hình trình tự đến trình tự.

Dịch máy

Tóm tắt

HÌNH 26.31b. Mô hình trình tự đến trình tự.

Mô hình trình tự đến trình tự

Bây giờ giả sử bạn muốn tạo ra một chuỗi có điều kiện trên một đầu vào khác

Ý chính:

  1. Sử dụng mô hình mã hóa (encoder) để tạo ra một vector biểu diễn của đầu vào (input)
  2. Đưa dữ liệu đầu ra của bộ mã hóa (encoder) vào bộ giải mã (decoder) sẽ tạo ra đầu ra (output)

Ứng dụng:

  • translation: Spanish → English
  • summarization: article → summary
  • speech recognition: speech signal → transcription

HÌNH 26.32. Mô hình trình tự đến trình tự.

KIẾN THỨC NỀN: THỊ GIÁC MÁY TÍNH

Ví dụ: Phân loại hình ảnh

  • Cuộc thi ImageNet LSVRC-2011:

– Bộ dữ liệu: 1,2 triệu hình ảnh được gắn nhãn, 1000 lớp

– Nhiệm vụ: Cho một hình ảnh mới, gắn nhãn cho nó bằng lớp đúng

– Bài toán phân loại đa lớp

  • Ví dụ từ http://image-net.org/

ImageNet

HÌNH 26.33. ImageNet.

ImageNet

HÌNH 26.34. ImageNet.

ImageNet

HÌNH 26.35. ImageNet.

Kỹ thuật trích xuất đặc trưng cho CV

HÌNH 26.36. Kỹ thuật trích xuất đặc trưng cho CV.

Phát hiện biên (Canny)

Phát hiện góc (Harris)

Biến đổi đặc trưng bất biến tỷ lệ (SIFT)

Số liệu từ http://opencv.org

Hình từ Lowe (1999) và Lowe (2004)

Ví dụ: Phân loại hình ảnh

HÌNH 26.37. Ví dụ: Phân loại hình ảnh.

CNN để phân loại hình ảnh

(Krizhevsky, Sutskever & Hinton, 2012)

Lỗi 15,3% trong cuộc thi ImageNet LSVRC-2012

Hình ảnh đầu vào (điểm ảnh)

  • Năm lớp tích chập (với max-pooling)
  • Ba lớp được kết nối đầy đủ

1000 cách softmax

CNNs cho Nhận dạng hình ảnh

HÌNH 26.38. CNNs cho Nhận dạng hình ảnh.

Slide từ Kaiming He

Truyền ngược và Học sâu

Mạng nơ-ron tích chập (CNN) và mạng nơ-ron hồi tiếp mạng (RNN) chỉ đơn giản là các đồ thị tính toán phức tạp (hay còn gọi là hàm giả thuyết hoặc hàm quyết định).

Công thức của chúng ta cũng áp dụng cho các mô hình này và (một lần nữa) dựa vào thuật toán truyền ngược để tính toán độ dốc cần thiết.

TÍCH CHẬP

Tích chập là gì?

  • Ý tưởng cơ bản:

– Chọn một ma trận 3×3 F có trọng số

– Trượt nó qua một hình ảnh và tính “tích vô hướng” (sự tương đồng) của F và trường tương ứng của hình ảnh, và thay thế điểm ảnh ở giữa trường bằng kết quả của phép toán tích vô hướng

  • Điểm chính:

– Các phép tích chập khác nhau trích xuất các loại “đặc trưng” cấp thấp khác nhau từ một hình ảnh

– Tất cả những gì chúng ta cần thay đổi để tạo ra những đặc trưng khác nhau này là trọng số của F

HÌNH 26.39. Tích chập là gì?.

Slide được chuyển thể từ William Cohen

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.40. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.41. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.42. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.43. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.44. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.45. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.46. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.47. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.48. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.49. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.50. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.51. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.52. Kiến thức nền: Xử lý hình ảnh.

Kiến thức nền: Xử lý hình ảnh

Ma trận tích chập được sử dụng trong xử lý hình ảnh cho các tác vụ như phát hiện biên, làm mờ, làm sắc nét, v.v.

HÌNH 26.53. Kiến thức nền: Xử lý hình ảnh.

Ví dụ về phép tích chập

HÌNH 26.54. Ví dụ về phép tích chập.

Hình ảnh Nguyên bản

Ví dụ về phép tích chập

HÌNH 26.55. Ví dụ về phép tích chập.

Tích chập Làm mịn

Ví dụ về phép tích chập

HÌNH 26.56. Ví dụ về phép tích chập.

Làm mờ Gaussian

Ví dụ về phép tích chập

HÌNH 26.57. Ví dụ về phép tích chập.

Hạt nhân Làm sắc

Ví dụ về phép tích chập

HÌNH 26.58. Ví dụ về phép tích chập.

Bộ phát hiện Biên

Tích chập là gì?

  • Ý tưởng cơ bản:

– Chọn một ma trận 3×3 F có trọng số

– Trượt nó qua một hình ảnh và tính “tích vô hướng” (sự tương đồng) của F và trường tương ứng của hình ảnh, và thay thế điểm ảnh ở giữa trường bằng kết quả của phép toán tích vô hướng

  • Điểm chính:

– Các phép tích chập khác nhau trích xuất các loại “đặc trưng” cấp thấp khác nhau từ một hình ảnh

– Tất cả những gì chúng ta cần thay đổi để tạo ra những đặc trưng khác nhau này là trọng số của F

HÌNH 26.59. Tích chập là gì?.

Slide được chuyển thể từ William Cohen

GIẢM KÍCH THƯỚC MẪU

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.60. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.61. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.62. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.63. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.64. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.65. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.66. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.67. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.68. Giảm kích thước mẫu.

Giảm kích thước mẫu

  • Giả sử chúng ta sử dụng phép tích chập với bước trượt 2
  • Chỉ có 9 vùng ảnh được truy cập trong đầu vào, do đó chỉ có 9 pixel trong đầu ra

HÌNH 26.69. Giảm kích thước mẫu.

Giảm kích thước mẫu bằng cách lấy trung bình

  • Giảm kích thước mẫu bằng cách lấy trung bình là một trường hợp đặc biệt của phép tích chập trong đó trọng số được cố định theo một phân phối đều
  • Ví dụ dưới đây sử dụng bước trượt 2

HÌNH 26.70. Giảm kích thước mẫu bằng cách lấy trung bình.

Max-Pooling

  • Max-pooling với bước trượt > 1 là một dạng khác của việc lấy mẫu xuống
  • Thay vì tính trung bình, chúng ta lấy giá trị lớn nhất trong cùng phạm vi như phép tích chập có kích thước tương đương
  • Ví dụ dưới đây sử dụng bước trượt 2

HÌNH 26.71. Max-Pooling.

MẠNG NƠ-RON TÍCH CHẬP

Công thức cho Học máy

Kiến thức nền

1. Cho dữ liệu đào tạo:

HÌNH 26.72a. Công thức cho Học máy.

2. Chọn các thành phần sau:

– Hàm quyết định

HÌNH 26.72b. Công thức cho Học máy.

– Hàm mất mát

HÌNH 26.72c. Công thức cho Học máy.

3. Xác định mục tiêu:

HÌNH 26.72d. Công thức cho Học máy.

4. Đào tạo với SGD:

(đi những bước nhỏ ngược với độ dốc)

HÌNH 26.72e. Công thức cho Học máy.

Công thức cho Học máy

Kiến thức nền

1. Cho dữ liệu đào tạo:

2. Chọn các thành phần sau:

– Hàm quyết định

– Hàm mất mát

3. Xác định mục tiêu:

4. Đào tạo với SGD:

(đi những bước nhỏ ngược với độ dốc)

HÌNH 26.73. Công thức cho Học máy.

  • Mạng nơ-ron tích chập (CNN) cung cấp một dạng khác của hàm quyết định
  • Hãy cùng xem chúng trông như thế nào nhé…

Lớp tích chập

HÌNH 26.74. Lớp tích chập.

Ý tưởng chính của CNN: Coi ma trận tích chập như các thông số và học chúng!

Mạng nơ-ron tích chập (CNN)

  • Các lớp điển hình bao gồm:

– Lớp tích chập

– Lớp gộp tối đa

– Lớp kết nối đầy đủ (Tuyến tính)

– Lớp ReLU (hoặc một số hàm kích hoạt phi tuyến tính khác)

– Softmax

  • Chúng có thể được sắp xếp thành các cấu trúc sâu tùy ý

Kiến trúc #1: LeNet-5

HÌNH 26.75. Mạng nơ-ron tích chập (CNN).

ĐÀO TẠO CNNS

Công thức cho Học máy

Kiến thức nền

1. Cho dữ liệu đào tạo:

HÌNH 26.76a. Công thức cho Học máy.

2. Chọn các thành phần sau:

– Hàm quyết định

HÌNH 26.76b. Công thức cho Học máy.

– Hàm mất mát

HÌNH 26.76c. Công thức cho Học máy.

3. Xác định mục tiêu:

HÌNH 26.76d. Công thức cho Học máy.

4. Đào tạo với SGD:

(đi những bước nhỏ ngược với độ dốc)

HÌNH 26.76e. Công thức cho Học máy.

Công thức cho Học máy

Kiến thức nền

1. Cho dữ liệu đào tạo:

2. Chọn các thành phần sau:

– Hàm quyết định

– Hàm mất mát

3. Xác định mục tiêu:

4. Đào tạo với SGD:

(đi những bước nhỏ ngược với độ dốc)

HÌNH 26.77. Công thức cho Học máy.

  • Q: Bây giờ chúng ta có CNN như một hàm quyết định, làm thế nào chúng ta tính toán độ dốc?
  • A: Tất nhiên là truyền ngược rồi!

SGD cho CNN

HÌNH 26.78. SGD cho CNN.

CÁC LỚP CỦA CNN

Lớp ReLU

HÌNH 26.79. Lớp ReLU.

Lớp Softmax

HÌNH 26.80. Lớp Softmax.

Lớp được kết nối đầy đủ

HÌNH 26.81. Lớp được kết nối đầy đủ.

Lớp tích chập

HÌNH 26.82. Lớp tích chập.

Lớp tích chập

HÌNH 26.83. Lớp tích chập.

Lớp Max-Pooling

HÌNH 26.84. Lớp Max-Pooling.

Lớp Max-Pooling

HÌNH 26.85. Lớp Max-Pooling.

Mạng nơ-ron tích chập (CNN)

  • Các lớp điển hình bao gồm:

– Lớp tích chập

– Lớp gộp tối đa

– Lớp kết nối đầy đủ (Tuyến tính)

– Lớp ReLU (hoặc một số hàm kích hoạt phi tuyến tính khác)

– Softmax

  • Chúng có thể được sắp xếp thành các cấu trúc sâu tùy ý

Kiến trúc #1: LeNet-5

HÌNH 26.86. Kiến trúc #1: LeNet-5.

Kiến trúc #2: AlexNet

HÌNH 26.87. Kiến trúc #2: AlexNet.

CNN để phân loại hình ảnh
(Krizhevsky, Sutskever & Hinton, 2012)
Lỗi 15,3% trong cuộc thi ImageNet LSVRC-2012

Hình ảnh Đầu vào (điểm ảnh)

  • Năm lớp tích chập (với max-pooling)
  • Ba lớp được kết nối đầy đủ

1000 cách softmax

CNNs cho Nhận dạng hình ảnh

HÌNH 26.88. CNNs cho Nhận dạng hình ảnh.

Slide từ Kaiming He

Mạng nơ-ron tích chập (CNN)

Kiến trúc tiêu biểu

HÌNH 26.89. Mạng nơ-ron tích chập (CNN).

Hình ảnh từ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7327346/

Mạng nơ-ron tích chập (CNN)

Kiến trúc tiêu biểu

HÌNH 26.90. Mạng nơ-ron tích chập (CNN).

Hình ảnh từ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7327346/

Mạng nơ-ron tích chập (CNN)

Kiến trúc tiêu biểu

HÌNH 26.91. Mạng nơ-ron tích chập (CNN).

AlexNet, 8 lớp (ILSVRC 2012)

VGG, 19 lớp (ILSVRC 2014)

ResNet, 152 lớp (ILSVRC 2015)

Kaiming He, Xiangyu Zhang, Shaoqing Ren và Jian Sun. “Học tập dư thừa sâu để nhận dạng hình ảnh”. arXiv 2015.

Cuộc thăm dò trong lớp

Câu hỏi:

Tại sao có nhiều lớp được sử dụng trong thị giác máy tính không có tham số vị trí cụ thể?

Trả lời:

Lớp tích chập

Đối với một lớp tích chập, làm thế nào chúng ta chọn kích thước hạt nhân? (hay còn gọi là kích thước của phép tích chập)?

HÌNH 26.92. Lớp tích chập.

  • Một hạt nhân nhỏ chỉ có thể nhìn thấy một phần rất nhỏ của hình ảnh, nhưng tính toán nhanh
  • Một hạt nhân lớn có thể nhìn thấy nhiều hình ảnh hơn, nhưng giá phải trả tốc độ

THỊ GIÁC MÁY TÍNH

Các nhiệm vụ phổ biến trong thị giác máy tính

  1. Phân loại hình ảnh
  2. Phân loại hình ảnh + Định vị
  3. Ước tính tư thế của con người
  4. Phân vùng ngữ nghĩa
  5. Phát hiện đối tượng
  6. Phân vùng trường hợp
  7. Chú thích hình ảnh

HÌNH 26.93. Các nhiệm vụ phổ biến trong thị giác máy tính.

Hình từ https://arxiv.org/pdf/1704.06857.pdf

Phân loại hình ảnh

  • Cho một hình ảnh, dự đoán một nhãn duy nhất
  • Bài toán phân loại đa lớp

HÌNH 26.94a. Phân loại hình ảnh.

HÌNH 26.94b. Phân loại hình ảnh.

Hình ảnh từ https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a 68c45b-Paper.pdf

Phân loại hình ảnh + Định vị

  • Cho một hình ảnh, dự đoán một nhãn và một hộp giới hạn cho đối tượng
  • Hộp giới hạn được biểu diễn dưới dạng (x, y, h, w), vị trí (x,y) và chiều cao/chiều rộng (h,w)

HÌNH 26.95. Phân loại hình ảnh + Định vị.

Hình ảnh từ https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5459257

Ước tính tư thế của con người

  • Cho hình ảnh của một con người, dự đoán vị trí của một số điểm đặc trưng (bàn tay trái, bàn tay phải, khuỷu tay trái, …, bàn chân phải)
  • Đây là bài toán hồi quy bội, nơi mà mỗi điểm đặc trưng có một vị trí tương ứng (xi,yi)

HÌNH 26.96a. Ước tính tư thế của con người.

HÌNH 26.96b. Ước tính tư thế của con người.

Hình từ https://openaccess.thecvf.com/content_cvpr_2014/papers/Toshev_DeepPose_Human_Pose_2014_CVPR_paper.pdf

Phân vùng ngữ nghĩa

  • Cho một hình ảnh, dự đoán một nhãn cho mỗi pixel trong hình ảnh
  • Không chỉ đơn thuần là một bài toán phân loại, bởi vì có mối tương quan mạnh mẽ giữa các nhãn pixel cụ thể

HÌNH 26.97a. Phân vùng ngữ nghĩa.

HÌNH 26.97b. Phân vùng ngữ nghĩa.

Hình từ https://openaccess.thecvf.com/content_iccv_2015/papers/Noh_Learning_Deconvolution_Network_ICCV_2015_paper.pdf

Phát hiện đối tượng

  • Cho một hình ảnh, đối với mỗi đối tượng dự đoán một hộp giới hạn và một nhãn (x,y,w,h,l)
  • Ví dụ: R-CNN

– (x=110, y=13, w=50, h=72, l=người)

– (x=90, y=55, w=81, h=87, l=ngựa)

– (x=421, y=533, w=24, h=30, l=ghế)

– (x=2, y=25, w=51, h=121, l=cổng)

HÌNH 26.98. Phát hiện đối tượng.

Hình từ https://openaccess.thecvf.com/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf

Phân vùng từng đối tượng

  • Dự đoán nhãn cho mỗi pixel như trong phân vùng ngữ nghĩa, nhưng phân biệt giữa những cá thể khác nhau của cùng nhãn
  • Ví dụ: nếu có hai người trong hình ảnh, một người sẽ được dán nhãn người-1 và một người sẽ được dán nhãn là người-2

HÌNH 26.99a. Phân vùng từng đối tượng.

HÌNH 26.99b. Phân vùng từng đối tượng.

Hình ảnh từ https://openaccess.thecvf.com/content_ICCV_2017/papers/He_Mask_R-CNN_ICCV_2017_paper.pdf

Chú thích hình ảnh

  • Nhận một hình ảnh làm đầu vào và sinh ra một câu mô tả hình ảnh đó làm đầu ra (tức là chú thích)
  • Các phương pháp điển hình bao gồm việc sử dụng một mạng CNN/transformer sâu kết hợp với một mô hình ngôn ngữ kiểu RNN
  • (Bài toán Dense Captioning là sinh một chú thích cho mỗi hộp giới hạn)

HÌNH 26.100a. Chú thích hình ảnh.

HÌNH 26.100b. Chú thích hình ảnh.

Hình từ https://dl.acm.org/doi/pdf/10.1145/3295748

Chú thích hình ảnh

  • Nhận một hình ảnh làm đầu vào và sinh ra một câu mô tả hình ảnh đó làm đầu ra (tức là chú thích)
  • Các phương pháp điển hình bao gồm việc sử dụng một mạng CNN/transformer sâu kết hợp với một mô hình ngôn ngữ kiểu RNN
  • (Bài toán Dense Captioning là sinh một chú thích cho mỗi hộp giới hạn)

HÌNH 26.101. Chú thích hình ảnh.

Bảng từ https://dl.acm.org/doi/pdf/10.1145/3295748

Phân tích hình ảnh y tế

Lưu ý rằng hầu hết những nhiệm vụ này là bài toán dự đoán có cấu trúc, không chỉ đơn thuần là phân loại

HÌNH 26.102. Phân tích hình ảnh y tế.

Hình ảnh từ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7327346/

HÌNH ẢNH CỦA CNN

Hình ảnh hóa CNN

https://adamharley.com/nn_vis/cnn/2d.html

HÌNH 26.103. Hình ảnh hóa CNN.

Sự tích chập của một hình ảnh màu

  • Hình ảnh màu bao gồm 3 giá trị thực cho mỗi điểm ảnh; tương ứng với các giá trị màu RGB (đỏ, xanh lục, xanh lam)
  • Tích chập cũng phải là 3 chiều

HÌNH 26.104. Sự tích chập của một hình ảnh màu.

Hình từ Fei-Fei Li & Andrej Karpathy & Justin Johnson (CS231N)

Hoạt hình của phép tích chập 3D

http://cs231n.github.io/convolutional-networks/

HÌNH 26.105. Hoạt hình của phép tích chập 3D.

Hình từ Fei-Fei Li & Andrej Karpathy & Justin Johnson (CS231N)

Nhận dạng chữ số MNIST với CNN

(chạy trực tiếp trên trình duyệt)

https://cs.stanford.edu/people/karpathy/convnetjs/demo/mnist.html

HÌNH 26.106. Nhận dạng chữ số MNIST với CNN.

Hình ảnh từ Andrej Karpathy

Tóm tắt CNN

CNN

– Được sử dụng cho tất cả các khía cạnh của thị giác máy tính và đã giành chiến thắng nhiều cuộc thi nhận dạng mẫu

– Có khả năng học các đặc trưng có thể diễn giải ở các cấp độ trừu tượng khác nhau

– Thông thường, bao gồm các lớp tích chập, các lớp gộp, phi tuyến tính và các lớp được kết nối đầy đủ

Mục tiêu học sâu

Bạn sẽ có thể…`

  • Triển khai các lớp phổ biến có trong Mạng nơ-ron tích chập (CNN) như lớp tuyến tính, lớp tích chập, lớp lấy giá trị cực đại và các đơn vị tuyến tính chỉnh lưu (ReLU)
  • Giải thích cách các tham số dùng chung trong một lớp tích chập có thể học cách phát hiện các mẫu không gian trong một hình ảnh
  • Mô tả thuật toán truyền ngược cho CNN
  • Nhận diện cơ chế chia sẻ tham số được sử dụng trong mạng nơ-ron hồi tiếp đơn giản, ví dụ mạng Elman
  • Áp dụng mạng nơ-ron hồi tiếp để mô hình hóa dữ liệu chuỗi
  • Phân biệt giữa RNN và RNN-LM

Bức tranh tổng thể ML

HÌNH 26.107. Bức tranh tổng thể ML.

Leave a Reply

Your email address will not be published. Required fields are marked *