1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng mạng học sâu HiDDeN để thực hiện giấu tin trong ảnh

75 78 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với những thành tựu ứng dụng vượt trội của học máy và đặc biệt là học sâu trong thời gian gần đây, việc ứng dụng các kỹ thuật học máy, học sâu trong bài toán giấu tin mật trong ảnh đang dần được quan tâm chú ý. Giấu tin trong ảnh số sử dụng các mạng nơron nhân tạo của học sâu là một lĩnh vực mới, vẫn còn nhiều thách thức cần được tiếp tục nghiên cứu giải quyết để đạt được hiệu quả ứng dụng thực tiễn mong muốn.

Trang 1

HiDDeN để thực hiện giấu tin trong ảnh” là công trình nghiên cứu của bản

thân; các số liệu sử dụng trong khóa luận là trung thực, chính xác; các tài liệutham khảo có nguồn gốc trích dẫn rõ ràng; kết quả nghiên cứu không sao chép

vi phạm bản quyền của bất kỳ công trình nào

Em xin chịu mọi trách nhiệm và hình thức kỷ luật theo quy định cho lờicam đoan của mình

Hà Nội, tháng 07 năm 2019

Sinh viên

Trang 2

CHƯƠNG 1: KHÁI QUÁT VỀ HỌC MÁY, HỌC SÂU VÀ BÀI TOÁN

GIẤU TIN TRONG ẢNH SỐ 6

1.1 Khái quát về học máy, học sâu 6

1.1.1 Khái quát về học máy 6

1.1.2 Khái quát về học sâu 10

1.1.3 Ứng dụng của học máy 14

1.2 Giấu tin mật trong ảnh số 15

1.2.1 Bài toán giấu tin mật trong ảnh số 15

1.2.2 Các phương pháp giấu tin mật trong ảnh số 19

1.2.3 Các phương pháp phát hiện giấu tin trong ảnh 22

CHƯƠNG 2: GIẤU TIN VÀO ẢNH SỐ SỬ DỤNG MẠNG HỌC SÂU HiDDeN 24

2.1 Mạng tích chập Convolutional Neural Network - CNN 24

2.1.1 Giới thiệu chung về mạng tích chập 24

2.1.2 Cấu trúc các lớp trong một mạng tích chập 26

2.2 Mạng sinh mẫu đối kháng Generative Adversarial Network - GAN30 2.2.1 Giới thiệu chung về mạng sinh mẫu đối kháng GAN 30

2.2.2 Nguyên lý hoạt động của mạng sinh mẫu đối kháng 32

2.2.3 Ưu, nhược điểm của mạng sinh đối kháng 34

2.3 Công cụ phân tích giấu tin ATS 35

2.3.1 Giới thiệu chung về ATS 35

Trang 3

2.4.1 Giới thiệu chung 39

2.4.2 Nguyên lý hoạt động của HiDDeN 39

2.4.3 Ưu, nhược điểm của HiDDeN 43

CHƯƠNG 3: CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .45 3.1 Công nghệ áp dụng 45

3.1.1 Ngôn ngữ lập trình Python 45

3.1.2 Thư viện học máy Scikit-learn, thư viện học sâu Pytorch 46

3.1.3 Thiết kế chương trình với Flask 47

3.2 Kịch bản thực nghiệm 47

3.2.1 Huấn luyện mô hình 47

3.2.2 Kiểm tra tính vô hình 50

3.3 Kết quả thực nghiệm và đánh giá 52

3.3.1 Lựa chọn mô hình 52

3.3.2 Đánh giá tính bền vững 55

3.3.3 Đánh giá tính vô hình 56

DANH MỤC TÀI LIỆU THAM KHẢO 61

Trang 4

AI Artificial Intelligence Trí tuệ nhân tạo

ATS based on artificial training setsUnsupervised steganalysis

Bộ công cụ phân tíchtin giấu dựa trên tập

dữ liệu tự tạo

CNN Convolutional Neural

Networks

Mạng nơ-ron tíchchập

GAN Generative AdversarialNetwork Mạng sinh mẫu đốikhángPSNR Peak Signal to Noise Tỉ số tín hiệu cực đạitrên nhiễuRNN Recurrent Neural Network Mạng hồi quy

SSIM Structural similarity index Chỉ số cấu trúc tươngđồngVAE Variational Auto Encoder Mạng biến đổi tựđộng

Trang 5

Hình 1.2 Hình ảnh nơ-ron tự nhiên 10

Hình 1.3 Nơ-ron nhân tạo mô phỏng bởi thuật toán PLA 11

Hình 1.4 Mạng nơ-ron kết nối đầy đủ 13

Hình 1.5 Các kỹ thuật cơ bản trong bảo mật thông tin 15

Hình 1.6 Quá trình nhận và gửi tin trong bài toán giấu tin mật 18

Hình 1.7 Thuật toán LSB 20

Hình 2.1 Sự khác biệt giữa mạng nơ-ron thông thường và mạng tích chập 25

Hình 2.2 Kết quả trong bài kiểm tra phân loại vật thể tại ILSVRC 26

Hình 2.3 Hoạt động của một bộ lọc trong xử lý ảnh truyền thống 26

Hình 2.4 Một bộ lọc trong mạng tích chập 27

Hình 2.5 Lớp tích chập với bước nhảy 2 28

Hình 2.6 Lớp tích chập với khoảng đệm bằng 1 28

Hình 2.7 Lớp tích chập với độ giãn nở bằng 1 29

Hình 2.8 Tổng hợp lấy giá trị lớn nhất và lấy giá trị trung bình 29

Hình 2.9 Tạo biểu diễn cho một lớp kết nối đầy đủ 30

Hình 2.10 Ba mô hình sinh mẫu phổ biến hiện nay 31

Hình 2.11 Số lượng bài báo liên quan đến GAN từ năm 2014 32

Hình 2.12 Cấu trúc của một mạng sinh mẫu đối kháng 33

Hình 2.13 Quá trình huấn luyện một mạng sinh đối kháng trong thực tế 34

Hình 2.14 Mô hình sinh theo cách thức mô tả phân phối dữ liệu 34

Hình 2.15 Các tập dữ liệu với bậc của ảnh tương ứng 37

Hình 2.16 Cách thức hoạt động của ATS [25] 38

Hình 2.17 Cấu trúc của mạng HiDDeN [42] 40

Hình 3.1 Ngôn ngữ được sử dụng nhiều nhất theo khảo sát trên Kaggle 45

Hình 3.2 Mối quan hệ giữa epoch và chi phí mất mát của mô hình 50

Hình 3.3 Chi phí mất mát của 7 thử nghiệm 54

Trang 6

Bảng 2.2 Kết quả thực tiễn của HiDDeN so với các mô hình khác 43

Bảng 3.1 Các thiết lập tham số thực nghiệm HiDDeN 49

Bảng 3.2 Cấu trúc của mô hình phân loại dùng trong ATS 51

Bảng 3.3 Ma trận sai sót với bài toán phân loại 3 lớp 52

Bảng 3.4 Epoch sử dụng và chi phí mất mát tương ứng trong 7 kịch bản 53

Bảng 3.5 Kết quả thực nghiệm kiểm tra tỉ lệ bit lỗi 55

Bảng 3.6 Kết quả đánh giá tính vô hình bằng công cụ ATS 57

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Trong thời đại số hiện nay, lượng thông tin được truyền tải, xử lý vàlưu trữ trên môi trường mạng là rất lớn Không ít trong đó là thông tin nhạycảm, bí mật: Thông tin cá nhân, tài khoản ngân hàng, bí mật nhà nước,… nếu

để lộ cho người không có thẩm quyền biết có thể gây ra hậu quả lớn Do đó,bảo mật thông tin là một yêu cầu cần thiết và cấp bách Có hai kỹ thuật phổbiến trong bảo mật thông tin là: Mã hóa và giấu tin Mã hóa là kỹ thuật biếnđổi thông tin bí mật về dạng không thể đọc đối với những người không cóquyền Giấu tin là kỹ thuật nhúng thông tin bí mật vào một thông tin khác -thường được gọi là vỏ bọc, và không làm ảnh hưởng nhiều đến trạng thái banđầu của vỏ bọc, tránh gây sự chú ý của những người không có thẩm quyền

Vỏ bọc có thể là hình ảnh, tài liệu, âm thanh, truy vấn mạng,… [20] Trong

đó, vỏ bọc dạng hình ảnh được đánh giá là ưu việt hơn cả, và còn nhiều tiềmnăng để khai thác Đã có nhiều kỹ thuật được áp dụng trong bài toán giấu tinmật trong ảnh [10], các thuật toán giấu tin tốt nhất hiện nay có thể giấu đượcmột lượng thông tin tương đối và chất lượng ảnh gần như không thể phân biệtbằng mắt thường

Học sâu là một nhánh của học máy - một lĩnh vực con trong trí tuệ nhântạo, mới được chú ý từ những năm 2012, nhưng từ đó đến nay đã có sự tăngtrưởng mạnh mẽ [11] Lấy ý tưởng mô phỏng lại não bộ con người, học sâutạo nên sự đột phá cho rất nhiều lĩnh vực nghiên cứu

Với những thành tựu ứng dụng vượt trội của học máy và đặc biệt là họcsâu trong thời gian gần đây, việc ứng dụng các kỹ thuật học máy, học sâutrong bài toán giấu tin mật trong ảnh đang dần được quan tâm chú ý Giấu tintrong ảnh số sử dụng các mạng nơ-ron nhân tạo của học sâu là một lĩnh vực

Trang 8

mới, vẫn còn nhiều thách thức cần được tiếp tục nghiên cứu giải quyết để đạtđược hiệu

quả ứng dụng thực tiễn mong muốn

Để đi sâu tìm hiểu và đánh giá hiệu quả của kỹ thuật học máy, học sâu

trong bài toán giấu tin, em chọn đề tài: “Sử dụng mạng học sâu HiDDeN để thực hiện giấu tin trong ảnh” làm đề tài khóa luận tốt nghiệp Trong khóa

luận, em tập trung tìm hiểu các mô hình mạng học sâu được sử dụng phổ biếntrong bài toán giấu tin mật, và ứng dụng mô hình mạng học sâu HiDDeN [42]cho bài toán trên Từ đó đưa ra những đánh giá khoa học về mặt lý thuyếtcũng như thực nghiệm của việc áp dụng mạng nơ-ron học sâu cho bài toángiấu tin trong ảnh số

2 Tình hình nghiên cứu liên quan đến đề tài

Hoạt động giấu tin mật đã xuất hiện từ trước công nguyên, khi trongchiến tranh, quân đội Hy Lạp gửi tin bằng cách cạo trọc đầu người đưa tin,viết tin mật lên đầu, đợi tóc mọc lên rồi gửi tin đi Đến thời điểm hiện tại, vỏbọc chứa tin là vô cùng đa dạng, cùng với nhiều kỹ thuật giấu tin phức tạpkèm theo Dạng vỏ bọc thông dụng nhất là ảnh số Trước khi có các kỹ thuậthọc máy, học sâu, các thuật toán giấu tin mật trong ảnh chủ yếu tìm các vùngảnh ít bị phát hiện nhất theo định nghĩa của tác giả, sau đó áp dụng kỹ thuậtgiấu tin Các thuật toán giấu tin trong ảnh đạt hiệu quả tốt nhất như WOW[17] , S-UNIWARD [18], HUGO [33]

Sự xuất hiện của học máy và đặc biệt là các mô hình mạng học sâu đã

mở ra một hướng phát triển mới cho bài toán giấu tin trong ảnh, khi nhiềuthao tác trong quá trình giấu tin được máy tính tự định nghĩa Các mô hìnhhọc sâu có thể áp dụng vào một quá trình hoặc toàn bộ bài toán giấu tin trongảnh Tang và các cộng sự [38] tìm kiếm những vùng ảnh ít quan trọng nhất,

Trang 9

sau đó áp dụng kỹ thuật giấu tin vào các vùng này Shi và Yang [36,40] dựatrên việc xây dựng đồng thời song song hai hệ thống giấu tin mật và phát hiệntin mật Ở đầu nhận thông tin, thông tin được trích xuất ra có thể phải hoàntoàn chính xác, có thể chỉ cần chính xác một phần cũng có thể hiểu được nộidung của tin nhắn cần gửi Dạng thông tin người nhận có thể hiểu được chínhxác nội dung người gửi muốn truyền đạt mà không cần khôi phục chính xáchoàn toàn tin nhắn điển hình nhất là dạng ảnh Baluja và các cộng sự [5] đãđưa ra ý tưởng cho bài toán giấu ảnh trong ảnh Điểm yếu của các hệ thốngnày là thông tin được giấu lớn, nên mô hình không có độ an toàn cao

Trong công tác an ninh, bài toán giấu tin trong ảnh có nhiều ứng dụngthực tiễn như: Gửi thông điệp bí mật đến đại sứ quán, gửi thông tin tình báo

về cơ sở,… Ở Việt Nam, đã có một vài nghiên cứu tìm hiểu về bài toán giấutin trong ảnh như [1–3] Tuy nhiên, hầu hết đều sử dụng các kỹ thuật cũ, dễ bịphát hiện Chưa có một nghiên cứu chuyên sâu nào, tìm hiểu áp dụng các kỹthuật học máy, học sâu trong bài toán giấu tin mật

3 Mục tiêu, nhiệm vụ nghiên cứu

- Mục tiêu nghiên cứu: Tập trung tìm hiểu tổng quan về bài toán giấu

tin mật trong ảnh và các kỹ thuật được áp dụng trong bài toán giấu tin Từ đó

đề xuất, xây dựng chương trình giấu tin áp dụng trong thực tiễn

- Nhiệm vụ nghiên cứu:

+ Giới thiệu chung về bài toán giấu tin mật trong ảnh: Định nghĩa, cáchthức, giới hạn, tồn tại và hạn chế

+ Giới thiệu chung về học máy, học sâu: Định nghĩa, phân loại và ứngdụng thực tiễn

Trang 10

+ Giới thiệu được về các kỹ thuật học máy, học sâu sử dụng trong bàitoán giấu tin mật: Nguyên lý và cách thức hoạt động

+ Thực nghiệm, kiểm tra và đánh giá mô hình mạng học sâu HiDDeN

4 Đối tượng và phạm vi nghiên cứu của đề tài

Bài toán giấu tin mật trong ảnh đã được nghiên cứu từ lâu với nhiều kỹthuật được đề xuất và sử dụng [10] Sự xuất hiện của các mô hình học máy,học sâu tạo ra những hướng giải quyết khác trước đây cho bài toán giấu tinmật Trong khuôn khổ khóa luận tốt nghiệp này, em chỉ tập trung vào tìm hiểu

và nghiên cứu:

- Quy trình các bước, đặc điểm, phân loại bài toán giấu tin mật trongảnh

- Các kỹ thuật học máy, học sâu sử dụng cho bài toán giấu tin mật: Các

mô hình mạng về xử lý ảnh, các mô hình mạng sinh dữ liệu mới, các mô hìnhmạng phân loại

5 Phương pháp nghiên cứu

Để nghiên cứu và tìm hiểu một cách chi tiết, chính xác những tri thứckhoa học trong phạm vi khóa luận, em đã sử dụng các phương pháp nghiêncứu sau:

- Phương pháp chuyên gia: Học tập, trao đổi, đặt câu hỏi với cácchuyên gia về những vấn đề khó khăn mình gặp phải hoặc chưa rõ hướng giảiquyết

- Phương pháp nghiên cứu tài liệu: Phân tích, tổng hợp các bài báokhoa học có liên quan đến khóa luận, nghiên cứu, học hỏi thêm từ các tài liệuchuyên ngành

Trang 11

- Phương pháp thực nghiệm khoa học.

- Phương pháp thực nghiệm, thống kê

6 Ý nghĩa khoa học, ý nghĩa thực tiễn của đề tài

- Ý nghĩa khoa học:

+ Cung cấp cái nhìn tổng quan về bài toán giấu tin mật trong ảnh số.+ Hệ thống hóa được các kỹ thuật học sâu phổ biến ứng dụng vào trongbài toán giấu tin mật

- Ý nghĩa thực tiễn:

+ Xây dựng được hệ thống giấu tin mật, ứng dụng trong công tác bảomật thông tin

7 Kết cấu của đề tài

Ngoài phần mở đầu và kết luận, kết cấu của khóa luận gồm 3 chương:

Chương 1: Khái quát về học máy, học sâu và bài toán giấu tin trong ảnh số

Chương này em trình bài khái quát về học máy, học sâu, những kháiniệm, định nghĩa quan trọng Sau đó, trình bày về bài toán giấu tin mật trongảnh số

Chương 2: Giấu tin trong ảnh số sử dụng mạng học sâu HiDDeN

Trong chương này, em trình bày các kỹ thuật mạng học sâu phổ biếntrong bài toán giấu tin mật Sau đó nêu ra cách thức áp dụng với một mô hìnhhọc sâu giấu tin cụ thể: HiDDeN

Chương 3: Cài đặt thực nghiệm và đánh giá kết quả

Trang 12

Chương này trình bày những kết quả thu được khi áp dụng mạng họcsâu HiDDeN và đưa ra các đánh giá dựa trên kết quả đó.

Trang 13

CHƯƠNG 1 K HÁI QUÁT VỀ HỌC MÁY, HỌC SÂU VÀ BÀI

TOÁN GIẤU TIN TRONG ẢNH SỐ 1.1 Khái quát về học máy, học sâu

1.1.1 Khái quát về học máy

1.1.1.1 Khái niệm học máy

Học máy (Machine Learning) là một thành phần quan trọng trong trítuệ nhân tạo (Artificial Intelligence – AI) (Hình 1 1), được hiểu là khả năngmột hệ thống máy có thể mô phỏng lại các hoạt động thông minh của conngười như học tập, suy luận, đánh giá vấn đề,…

Hình 1.1 Các lĩnh vực trong trí tuệ nhân tạo.

Khái niệm học máy lần đầu được đưa ra bởi Arthur Samuel (1959):

Học máy là ngành cung cấp cho máy khả năng hoàn thành công việc mà

không cần lập trình chi tiết Năm 1997, Tom Mitchell tại đại học Carnegie Mellon University đưa ra một khái niệm cụ thể hơn và được chấp nhận đông

đảo trong giới khoa học: Một chương trình máy tính được nói là đã học từ

kinh nghiệm E để làm nhiệm vụ T với hiệu suất đo bằng P, nếu hiệu suất của chương trình khi làm nhiệm vụ T, đo bởi P, được cải thiện nhờ kinh nghiệm

E Ví dụ trong bài toán xác định tin đồn trên mạng là thật hay giả, ta có:

Trang 14

- Nhiệm vụ T: Xác định tin đồn trên mạng là thật hay giả.

- Kinh nghiệm E: Các tin đồn trước đó ở trên mạng mà ta đã biết đó là

thật hay giả

- Hiệu suất P: Tỉ lệ xác định đúng tin đồn trên mạng là thật hay giả.

Nói chung, học máy là quá trình cung cấp một bộ dữ liệu đầu vào chomáy tính, để máy tính tự học, hiểu, phân tích dữ liệu, từ đó thực hiện cácnhiệm vụ tương tự với những bộ dữ liệu mới trong tương lai Quy trình nàycũng giống như việc một người học tập từ kinh nghiệm đã có trước đây

1.1.1.2 Phân loại các thuật toán học máy

Có nhiều tiêu chí phân loại các thuật toán học máy, trong đó tiêu chíphân loại dựa theo phong cách học (learning style) được sử dụng phổ biếnnhất Theo tiêu chí này, các thuật toán học máy chia làm 4 loại chính:

- Học có giám sát (Supervised learning): Các thuật toán thuộc nhóm

này dự đoán kết quả đầu ra (outcome) của một đầu vào mới (new input) từ

các cặp <đầu vào, đầu ra> đã cung cấp cho thuật toán từ trước đó Trong nhiều trường hợp, cặp này còn được gọi là <dữ liệu, nhãn> Học giám sát

được sử dụng phổ biến trong các bài toán phân loại, hồi quy, dự đoán giá trị,

- Học không giám sát (Unsupervised learning): Khác với học giám sát,

các thuật toán học không giám sát chỉ nhận dữ liệu đầu vào mà không có nhãntương ứng Các thuật toán thuộc nhóm này chủ yếu quan sát, phân tích, ghinhớ cấu trúc bên trong của dữ liệu, từ đó thực hiện các công việc liên quanđến cấu trúc của dữ liệu như giảm chiều dữ liệu, phân cụm, sinh dữ liệu mới,

Trang 15

- Học bán giám sát (Semi-supervised learning): Đây là nhóm lai giữa 2

nhóm nêu ở trên Nghĩa là một phần dữ liệu được gán nhãn , một phần dữ liệuchưa được gán nhãn Trong thực tế có rất nhiều bài toán thuộc nhóm này, vìchi phí thu thập dữ liệu có nhãn là lớn, trong khi thu thập dữ liệu không nhãnthì đơn giản hơn nhiều Một xu hướng quan trọng trong loại này là đưa ra dựđoán cho dữ liệu mới (học có giám sát), nhưng cần quan sát cấu trúc của dữliệu (học không giám sát) để đạt kết quả tốt hơn

- Học tăng cường (Reinforcement learning): Là các thuật toán mà hệ

thống dựa vào những kết quả đạt được để điều chỉnh hành vi của mình saocho hiệu quả nhất Các thuật toán này thường áp dụng chủ yếu để huấn luyệncác chương trình chơi game

Ngoài ra, học máy có thể được phân loại theo chức năng (phân loại, hồiquy, phân cụm, hệ thống gợi ý,…), theo cách nhận dữ liệu (học online, họcoffline)

1.1.1.3 Quy trình xây dựng một hệ thống học máy

Học máy là một quá trình tiếp nhận kinh nghiệm quá khứ và hướng đếntương lai Một quy trình học máy cơ bản sẽ gồm 3 bước: Thu thập, xử lý dữliệu; lựa chọn và huấn luyện mô hình học máy; kiểm nghiệm thực tiễn vàđánh giá [34] Để mô tả cho 3 bước trên, ta sử dụng một ví dụ trong công tác

an ninh: Huấn luyện mô hình để xác định có sự xuất hiện của một khẩu súngtrong ảnh thu được hay không

- Thu thập, tiền xử lý dữ liệu:

Đây là bước đầu tiên trong xây dựng một mô hình học máy Bước nàykhông yêu cầu nhiều về kỹ thuật chuyên môn, mà đòi hỏi sự cẩn thận và chỉnchu của người thực hiện Dữ liệu (data) thu thập vừa phải đủ lớn về số lượng,vừa phải đa dạng về các tính chất cần thiết để có thể khái quát hết tất cả dữ

Trang 16

liệu thực tế Ví dụ: Màu sắc, trạng thái, loại, hướng, vị trí,… của một khẩusúng Bài toán xác định có súng trong ảnh hay không là bài toán thuộc nhómhọc giám sát Chính vì thế, sau khi có dữ liệu, ta phải tiến hành gán nhãn cho

dữ

liệu Đây thường là thao tác thủ công, chưa tự động hóa nhiều

Dữ liệu thu thập được gọi là dữ liệu thô (raw data) Thực tế, ta khôngcần toàn bộ các tính chất của dữ liệu thô này để giải quyết bài toán, mà chỉcần những tính chất có giá trị Trong học máy, các tính chất của dữ liệu cònđược gọi là đặc trưng (features) Quá trình tiền xử lý dữ liệu (datapreprocessing) là quá trình làm sạch dữ liệu (data cleaning) và trích xuất đặctrưng (features extracting) có giá trị cung cấp cho mô hình học máy Rõ ràng

là nhìn một khẩu súng ở ảnh đen trắng hay một khẩu súng ở ảnh màu RGB(Red, Green, Blue) cũng không ảnh hưởng gì đến việc đưa ra kết luận Vì thế,

từ dữ liệu đầu vào là ảnh RGB, ta hoàn toàn có thể chuyển hết sang ảnh đentrắng, giảm độ lớn của dữ liệu đi 2/3

- Lựa chọn và huấn luyện mô hình học máy:

Sau khi có được dữ liệu và đặc trưng, ta tiến hành lựa chọn và huấnluyện (training) mô hình học máy Hiện tại có rất nhiều mô hình học máyđược đề xuất, mỗi mô hình sẽ phù hợp với một số bài toán nhất định Nhiệm

vụ của người huấn luyện là có cảm quan về dữ liệu, sau đó phân tích, đánhgiá, lựa chọn mô hình mà mình nghĩ là phù hợp nhất Giả sử thu thập được

100 ảnh có chứa súng, không thể sử dụng mô hình yêu cầu phải có tối thiểu

1000 ảnh mới cho hiệu quả tốt được Thao tác tiếp theo là huấn luyện môhình Đây là một quá trình thử - sai, người huấn luyện phải đánh giá được môhình của mình hoạt động tốt hay không, hiểu được lý do tại sao nó lại ra kếtquả như thế, từ đó đưa ra điều chỉnh phù hợp

Trang 17

Để đánh giá độ hiệu quả của mô hình, tập dữ liệu thu thập được thành 2tập: Tập huấn luyện (training data), và tập kiểm tra (testing data), tùy theolượng dữ liệu thì sẽ chia tỉ lệ cho phù hợp Tập huấn luyện dùng để điều chỉnh

mô hình, và đánh giá kết quả đạt được trên tập kiểm tra

- Kiểm nghiệm thực tiễn và đánh giá:

Sau khi thỏa mãn, mô hình được đưa ra kiểm nghiệm thực tiễn Một lưu

ý là dữ liệu mới trong thực tiễn phải có nét tương đồng với tập dữ liệu huấnluyện, nếu không nhiều khả năng sẽ cho kết quả không tốt

Đưa ra thực tiễn chưa phải là đã hoàn thiện, nhiều khi cần tiếp tục quansát phản hồi của mô hình và tiến hành đánh giá, vì trong thực tế có nhiềutrường hợp không thể lường trước hết được những thách thức như: Dữ liệuđầu vào khác biệt, dữ liệu thực tế thay đổi,… khiến cho mô hình không hoạtđộng hợp lý Người huấn luyện cần quan sát kết quả thực tiễn và tùy theochiến lược để xử lý tình huống

1.1.2 Khái quát về học sâu

Học sâu là một nhánh con của học máy Học sâu bắt nguồn từ thuậttoán Perception Learning Algorithm (PLA) trong học máy, sau đó phát triểnmạnh mẽ, và trở thành một ngành khoa học gần như độc lập với học máy hiệntại

1.1.2.1 Giới thiệu thuật toán PLA

PLA là một thuật toán phân lớp nhị phân, lấy ý tưởng từ nơ-ron (Hình

1 2) trong não bộ của con người: Một nơ-ron nhận các tín hiệu (dendrites)khác nhau, tổng hợp, truyền thông tin tới các nơ-ron khác thông qua sợi trục(axon)

Trang 18

Hình 1.2 Hình ảnh nơ-ron tự nhiên.

Thuật toán PLA cũng hoạt động theo hình mẫu tương tự Một nơ-ronđược PLA biểu diễn lại như Hình 1 3

Hình 1.3 Nơ-ron nhân tạo mô phỏng bởi thuật toán PLA.

Đầu vào của PLA là một vector x các đặc trưng x i, và đầu ra là một giá

trị y Giá trị đầu vào x được điều chỉnh bởi tham số w cùng kích thước với x.

Quá trình tổng hợp các thông tin thu thập được biểu diễn bởi:

i i i

yf w xfx (1)

Để đơn giản, ta chọn f là hàm đơn vị (hàm có đầu ra bằng đầu vào), và

chọn một mốc phân loại như sau:

i i i

i i i

w x o

Trang 19

Threshold là một ngưỡng giá trị, nếu y nhỏ hơn hoặc bằng giá trị này,

kết quả đầu  ra là 0, ngược lại, đầu ra là 1, tương ứng với 2 lớp Trong thực

tế, ta không chỉ muốn mô hình kết luận được mẫu x thuộc lớp nào mà còn

muốn mô hình đưa ra được một mức độ xảy ra của khả năng đó Giả sử một

mô hình học máy A trong ngân hàng quyết định có cho khách hàng vay hay

không, bằng cách phân loại khách hàng thành 2 lớp: Có thể hoàn trả và không

thể hoàn trả Có hai người muốn vay và A quyết định rằng hai người đều có

khả năng hoàn trả Nhưng ngân hàng chỉ còn đủ tiền cho 1 khách hàng, lúc đó

ngân hàng sẽ muốn A cho biết thêm về mức độ có thể hoàn trả của từng

khách hàng Mức độ này có thể đo bằng một số thuộc [0, 1], với 0 là chắcchắn thuộc vào nhóm thứ nhất, 1 là chắc chắn thuộc vào nhóm thứ hai, và 0.5

là hoàn toàn phân vân Công thức (2) không thỏa mãn được yêu cầu trên, do

đầu ra chỉ là 1 trong 2 giá trị {0, 1} Vì thế ta chọn f là hàm sigmoid, có công

thức:

1 ( )

sử dụng rộng rãi cho từng đặc trưng cụ thể của mạng như: Tanh, Relu,LeakyRelu, Softmax,…[32] Các hàm kích hoạt phải là hàm phi tuyến, dễdàng tính đạo hàm Hàm sigmoid có đạo hàm tại mọi điểm, với:

'( )z ( )*(1z ( ))z

Trang 20

1.1.2.2 Mạng nơ-ron kết nối đầy đủ (fully-connected neural network)

Thuật toán PLA mô phỏng lại hoạt động của một nơ-ron tự nhiên Mộtkiến trúc đề xuất xếp các nơ-ron nhân tạo thành các lớp, rồi các lớp kết nốivới nhau (Hình 1 4) giống như việc các nơ-ron tự nhiên kết nối và truyềnthông tin đến nhau trong não bộ con người, được gọi là một mạng nơ-ron kếtnối đầy đủ Tên gọi mạng nơ-ron đầy đủ xuất phát từ việc nơ-ron ở lớp phíasau có tất cả thông tin của lớp phía trước Có 3 loại lớp, bao gồm:

- Lớp đầu vào (input layer): Là lớp tiếp nhận đầu vào của mô hình, ởđây chính là các đặc trưng mà ta cung cấp cho mạng

- Lớp đầu ra (output layer): Là lớp đưa ra kết quả mà ta sẽ kiểm nghiệm

Hình 1.4 Mạng nơ-ron kết nối đầy đủ.

Mạng nơ-ron kết nối đầy đủ là thuật toán đầu tiên của học sâu Mô hìnhmạng này đạt được kết quả rất tốt với những bài toán được áp dụng tại thời

Trang 21

điểm đó Trước đây, đã có nhiều người cho rằng mô hình càng sâu, càngnhiều lớp ẩn, thì càng mạnh Tuy vậy, hiện nay quan điểm trên dần bộc lộ sựthiếu sót He và các cộng sự [15] chứng minh được rằng đến một độ sâu nhấtđịnh, mô hình sẽ bão hòa, kết quả không thể tăng hơn được nữa Hơn nữa, môhình càng sâu, yêu cầu về khả năng lưu trữ và tính toán càng lớn, đến mứckhó mà đáp ứng được Chính vì thế, các thuật toán, mô hình mới được đềxuất, tạo nên một thời kỳ mới cho học sâu, ví dụ như:

- Mạng nơ-ron tích chập (Convolutional Neural Network – CNN) [39]:

sử dụng nhiều cho các bài toán về xử lý ảnh

- Mạng hồi quy (Recurrent Neural Network – RNN) [7]: Sử dụng phổbiến cho các bài toán xử lý đầu vào là một chuỗi nối tiếp có quan hệ lẫn nhau,như ngôn ngữ tự nhiên, chuỗi gen

- Mạng sinh mẫu đối kháng (Generative Adversarial Network – GAN)[12]: Sử dụng để sinh thêm dữ liệu

- Mạng mã hóa tự động (Auto Encoder Network) [16]: Là một mô hìnhhọc không giám sát, dùng trong các bài toán biểu diễn, giảm chiều dữ liệu

Ngoài ra, còn rất nhiều mô hình mạng khác, được xây dựng để phục vụcho những mục đích cụ thể

1.1.3 Ứng dụng của học máy

Học máy và đặc biệt là học sâu phát triển mạnh trong thời gian gần đây

đã tạo ra thêm một số ngành công nghiệp mới, đồng thời thúc đẩy sự pháttriển của các ngành công nghiệp trước đây Hiện nay, học máy, học sâu đượcứng dụng ở nhiều lĩnh vực khác nhau của đời sống xã hội, như tài chính, ngânhàng, marketing, y tế, giải trí, thể thao, an ninh, quốc phòng,

- Trong lĩnh vực tài chính, ngân hàng, marketing:

Trang 22

+ Hỗ trợ ngân hàng ra quyết định cho vay.

+ Tìm mối tương quan trong thị trường cổ phiếu, chứng khoán

- Trong lĩnh vực y tế:

+ Dự đoán tình trạng của bệnh nhân

+ Hỗ trợ bác sĩ ra quyết định

- Trong lĩnh vực thể thao, giải trí:

+ Hệ thống gợi ý trên các nền tảng như Youtube, Netflix,…

+ Công nghệ thực tế ảo

- Trong lĩnh vực an ninh, quốc phòng:

+ Phát hiện, ngăn chặn mã độc: Google phát triển hệ thống ngăn chặn

mã độc DroidDetector, MalwareGuard phát triển FireEye,…

+ Giám sát và hỗ trợ bắt giữ các đối tượng phạm tội: Những hệ thốngnày là sự kết hợp của các kỹ thuật nhận dạng mặt người, kỹ thuật dự đoánhướng đi,… Hệ thống phục vụ đắc lực cho lực lượng an ninh, cảnh sát Ví dụ:Trung Quốc triển khai hệ thống camera nhận dạng mặt người trên khắp cảnước, phát hiện và bắt giữ nhiều đối tượng đã lẩn trốn hàng chục năm

+ Bảo mật thông tin: Là các hệ thống thuần học máy hoặc kết hợp họcmáy với những kỹ thuật đã có để mã hóa hoặc giấu thông tin

1.2 Giấu tin mật trong ảnh số

1.2.1 Bài toán giấu tin mật trong ảnh số

1.2.1.1 Khái quát về giấu tin

Giấu tin (data hiding) là kỹ thuật chèn, nhúng một lượng dữ liệu (đốitượng cần giấu) vào một lượng dữ liệu khác (đối tượng vỏ bọc) mà không làm

Trang 23

đối tượng vỏ bọc trở nên bất bình thường Giấu tin và mã hóa (cryptography)

là 2 kỹ thuật phổ biến nhất được sử dụng để bảo mật thông tin (Hình 1 5)

Hình 1.5 Các kỹ thuật cơ bản trong bảo mật thông tin.

Mã hóa biến đổi thông tin cần bảo mật thành dạng không thể đọc,thường dễ nhận biết chỉ bằng quan sát mắt thường Trong trường hợp khôngmuốn thông tin truyền đi lộ liễu, người ta sử dụng kỹ thuật giấu tin

Giấu tin chủ yếu được chia làm 3 loại tùy theo mục đích sử dụng:

- Thủy vân số (Watermarking) [6]: Xác thực cho đối tượng che giấu.Tin mật ở bên trong có nhiệm vụ là dấu hiệu, một bằng chứng chứng minhtính chất nào đó của đối tượng che giấu, như tác giả, thời gian xuất hiện,…

- Giấu tin mật (Steganography) [29]: Mục đích của giấu tin mật làtruyền lượng thông tin bí mật trên đường truyền một cách an toàn, không bịphát hiện bởi kẻ tấn công

- Giấu tin có ràng buộc (Reversible data hiding) [31]: Mục đích củagiấu tin mật chỉ là có thể khôi phục lại tin nhắn mật Còn giấu tin có ràngbuộc yêu cầu phải khôi phục đồng thời tin nhắn mật và đối tượng vỏ bọc

Khóa luận tập trung vào bài toán giấu tin mật Một hệ thống giấu tinmật được gọi là hoàn hảo, nếu đảm bảo tốt 5 tiêu chí sau:

Trang 24

- Tính vô hình (Imperceptibility): Là khả năng thông tin truyền đi màkhông bị phát hiện bởi các công cụ phân tích

- Tính bảo mật (Security): Là khả năng bảo mật nội dung tin giấu trướcnhững kẻ tấn công

- Khả năng giấu lượng tin (Capacity): Là lượng thông tin có thể giấuđược trong đối tượng chứa

- Tính bền vững (Robustness): Là khả năng toàn vẹn của thông tin giấutrong đối tượng chứa dù cho vật chứa bị biến đổi

- Độ phức tạp (Complexity): Là chi phí tính toán và lưu trữ của phươngpháp, mô hình giấu tin

Các tiêu chí trên có mối quan hệ qua lại, tác động lẫn nhau: Một hệthống có khả năng vô hình thì khả năng giấu lượng tin kém, một hệ thống cótính bảo mật và tính bền vững tốt thì độ phức tạp cao, Thực tế, chưa có một

hệ thống giấu tin nào trong thực tiễn được coi là hoàn hảo Ta thường chọnmột vài tính chất làm mục tiêu để tối ưu, đồng thời đảm bảo các tính chất cònlại ở mức chấp nhận được

1.2.1.2 Bài toán giấu tin mật trong ảnh số

Đối tượng vỏ bọc hay đối tượng chứa tin giấu trong bài toán giấu tinmật rất đa dạng, như hình ảnh, âm thanh, văn bản, video,…Tuy vậy, thôngdụng nhất là sử dụng ảnh số để giấu tin mật

Một số khái niệm cơ bản được sử dụng trong bài toán giấu tin mậttrong ảnh số bao gồm:

- Ảnh vỏ bọc (Cover image): Đây là đối tượng che giấu cho tin mật, tùyvào thuật toán và điều kiện thì chọn loại ảnh phù hợp

Trang 25

- Tin mật (Secret information): Là thông điệp bí mật cần truyền đi.

- Ảnh chứa tin mật (Embedded image): Là ảnh thu được sau khi giấutin mật vào trong ảnh vỏ bọc

- Khóa bí mật (Key): Là thông tin cần có để người nhận có thể giải mãthông tin Tùy vào thuật toán thì thành phần này có thể có hoặc không

- Thuật toán giấu tin (Embedding algorithm): Là thuật toán được ápdụng để giấu tin trong ảnh

- Thuật toán trích xuất (Extracting algorithm): Là thuật toán được ápdụng để thu lại tin nhắn bí mật đã được che giấu

Quá trình gửi tin và nhận tin mật được thể hiện ở Hình 1 6, trong đó:

- Tại đầu gửi tin: Sử dụng thuật toán giấu tin E M để giấu tin mật D vào ảnh vỏ bọc I C , sử dụng khóa K và cho kết quả ảnh chứa tin mật I S :

Trang 26

Để đánh giá hiệu quả một hệ thống giấu tin, người ta sử dụng các đạilượng đánh giá cơ bản như sau:

- Tỉ lệ bit lỗi (Bit Error rate - BER): Là tỉ lệ biểu thị sự khác biệt giữa

ảnh vỏ bọc I C và ảnh chứa tin I S, được xác định bởi công thức sau:

E C

B BER

I Cmax là giá trị lớn nhất của ảnh vỏ bọc

- Khả năng lưu trữ (Bit per pixel - bpp): Số bit thông tin lưu trữ trên

mỗi pixel của ảnh: * *

bit

N bpp

C H W

, N bit là số bit trong thông điệp mật

- Chỉ số cấu trúc tương đồng (Structural similarity index - SSIM): Biểu

diễn sự tương đồng giữa I C và I S, nhưng được tính dựa theo giả thuyết về nhậnthức của con người về hình ảnh, chứ không dựa trên đơn vị trên máy tính:

Trang 27

1.2.2 Các phương pháp giấu tin mật trong ảnh số

Giấu tin mật trong ảnh là bài toán đã được quan tâm từ lâu với nhiềuphương pháp đề xuất Đến thời điểm hiện tại, các phương pháp giấu tin tốtnhất có thể lưu trữ được một lượng tin mật tương đối, và chất lượng ảnh gầnnhư không thể phân biệt bằng quan sát thông thường của mắt người

Một số phương pháp giấu tin mật cơ bản đã được trình bày trong [10]:

1.2.2.1 Kỹ thuật miền không gian (Spatial Domain Method)

Là phương pháp giấu tin dựa vào sự thay đổi trực tiếp các giá trị pixelcủa ảnh vỏ bọc Kỹ thuật miền không gian lại chia thành 3 loại như sau:

- Least Significant Bit (LSB): Là phương pháp giấu tin trong ảnh sốkhá phổ biến và thông dụng Trong phương pháp này, các bit được coi là ítảnh hưởng nhất đến bố cục bức ảnh (thường là bit thấp nhất ở vùng khôngquan trọng) được thay thế bằng bit tin mật Ví dụ trong Hình 1 7, một pixeltrên ảnh RGB có 3 thành phần R (red), G (green), B (blue), có dung lượng là

3 byte = 3x8=24bit Với mỗi thành phần, ta thay thế bit cuối cùng bằng mộtbit trong tin

nhắn bí mật

Phương pháp này có ưu điểm là đơn giản và bảo mật khá tốt Tuynhiên, nhược điểm là rất nhạy cảm khi có những biến đổi ảnh như nén có mấtmát thông tin, hay các kỹ thuật xử lý ảnh khác,…

Trang 28

Hình 1.7 Thuật toán LSB.

- Pixel Value Differencing (PVD): Là các phương pháp lợi dụng sựchênh lệnh lẫn nhau giữa các điểm ảnh Thường lựa chọn pixel nằm ở cácvùng cạnh, sau đó tính toán thay đổi giá trị ở các pixel để giấu tin cho phùhợp

- Binary Pattern Complexity (BPC): Cách tiếp cận này chia ảnh rathành 2 vùng: Vùng thông tin và vùng nhiễu Hai vùng này được định nghĩathông qua đặc trưng mẫu nhị phân (binary pattern) hoặc biến thể của nó Tin

bí mật được đưa vào trong ảnh bằng cách thay đổi giá trị pixel của vùngnhiễu Cách này có ưu điểm là khả năng lưu trữ lớn, và tính bền vững cao

1.2.2.2 Kỹ thuật miền biến đổi (Transform Domain Method)

Đây là các phương pháp giấu tin thực hiện phức tạp hơn nhiều so vớicác kỹ thuật ở trên do sử dụng thuật toán và các phép biến đổi(transformations) lên ảnh ban đầu Thông tin mật được giấu bằng kỹ thuậtmiền biến đổi khó bị phát hiện, đồng thời khả năng lưu trữ cũng lớn hơn sovới kỹ thuật miền không gian Kỹ thuật miền biến đổi được chia thành cácloại khác nhau, dựa theo phép biến đổi được sử dụng: Biến đổi Fourier rờirạc, biến đối Cosin rời rạc, biến đổi wavelet rời rạc,…

Trang 29

1.2.2.3 Kỹ thuật vector nhúng (Vector Embedding)

Kỹ thuật vector nhúng sử dụng các thuật toán có tính bền vững với cácchuẩn mã hóa (MPEG-1, MPEG-2) Các thuật toán này thiết kế một vectorđặc trưng để kiểm soát quá trình nhúng thông tin Thuật toán có khả năng lưutrữ tốt và dễ dàng ứng dụng, cài đặt nhanh và hiệu quả

1.2.2.4 Kỹ thuật trải phổ (Spread Spectrum)

Trải phổ là kỹ thuật truyền thông được đặc trưng bởi băng thông rộng

và công suất thấp, dùng trong các mô hình kết nối mạng Trong bài toán giấutin, dữ liệu bí mật chính là thông tin được trải ra Tỉ số tín hiệu trên nhiễu củaảnh phải nhỏ để khó phát hiện sự tồn tại của dữ liệu trong vật chứa Ưu điểmcủa kỹ thuật này là tính bền vững cao, thường được áp dụng trong an ninh,quân sự Rất khó để gỡ bỏ hoàn toàn thông tin mật nếu không phá hủy toàn bộvật chứa

1.2.2.5 Kỹ thuật dựa trên thống kê (Statistical Technique)

Thông tin mật được giấu bằng cách thay đổi một vài thuộc tính của ảnh

vỏ bọc Ý tưởng nền tảng là chia ảnh vỏ bọc thành các khối và giấu từng bittin nhắn vào các khối theo cách thức thống kê

1.2.2.6 Kỹ thuật dựa trên sự xáo trộn (Distortion Technique)

Phương thức này tiến hành giấu tin bằng cách dựa vào sự tác động tớiảnh vỏ bọc Người gửi tin thực hiện các biến đổi với ảnh vỏ bọc, tiến hànhgiấu tin, sau đó gửi đồng thời ảnh vỏ bọc và ảnh chứa tin (hoặc cũng có thểngười nhận có ảnh vỏ bọc từ trước) Người nhận dùng 2 thông tin này để tríchxuất tin nhắn ban đầu

1.2.2.7 Kỹ thuật phủ và lọc (Masking and Filtering)

Trong xử lý ảnh, kỹ thuật phủ (masking) trong ảnh là kỹ thuật chồngảnh

Trang 30

này lên một ảnh khác để thu những thông tin quan trọng Trong kỹ thuật giấutin này, ta chồng dữ liệu bí mật lên phía trên ảnh vỏ bọc đồng thời thay đổitính chất của một vài vùng cụ thể Tin nhắn được giấu ở những vùng bit thôngtin quan trọng nhất

Trên đây là một số phương pháp giấu tin cơ bản, thông dụng Cácphương pháp giấu tin mới được nghiên cứu đề xuất trong một vài năm gầnđây sử dụng kỹ thuật học sâu sẽ được đề cập chi tiết ở phần sau

1.2.3 Các phương pháp phát hiện giấu tin trong ảnh

Giống như mã hóa phát triển song song cùng giải mã, lĩnh vực giấu tinmật cũng có bài toán đối nghịch: Phát hiện tin mật được giấu trong đối tượng

vỏ bọc (Steganalysis) Có 3 kỹ thuật chính trong bài toán steganalysis, baogồm:

- Sử dụng mắt thường quan sát: Cách này yêu cầu kẻ tấn công quan sátbằng mắt thường đối tượng chứa tin giấu để tìm kiếm sự bất thường Tuynhiên, cách này giờ không còn hiệu quả vì chất lượng ảnh che giấu hiện tạithường rất tốt, nên nó thường là kỹ thuật được sử dụng bổ sung cho các kỹthuật khác

- Phân tích thống kê: Thay vì dùng mắt thường, ta sử dụng hệ thốngmáy tính để phát hiện bất thường Các ảnh mẫu sẽ được trích chọn đặc trưngphù hợp, tìm ra một phân phối chung tự nhiên gần đúng Sau đó kiểm tra ảnhmới với phân phối này

- Sử dụng học máy, học sâu: Phát hiện tin mật cũng chính là bài toánphân lớp nhị phân (binary classifier), là bài toán rất phổ biến và có những kếtquả tốt trong học máy, học sâu Chính vì thế học máy cũng là công cụ rất đắclực, được nghiên cứu nhiều để giải quyết bài toán phát hiện tin giấu

Trang 31

Đó là 3 kỹ thuật chính được sử dụng để phát hiện có tồn tại tin mật haykhông Dĩ nhiên, tùy đặc thù vào từng thuật toán giấu tin, ta có cách phát triểncác công cụ phát hiện giấu tin phù hợp, và kết hợp các công cụ lại với nhau đểđạt được hiệu quả cao nhất Có 3 kịch bản để phát triển một công cụ phát hiệntin giấu, đó là:

- Chỉ biết ảnh giấu tin

- Biết được ảnh vỏ bọc

- Biết được một phần tin nhắn mật

Dựa trên từng kịch bản sẽ phát triển những công cụ phát hiện tin giấu tương ứng

Tổng kết chương 1: Chương này em trình bày khái quát về học máy,

học sâu, bao gồm khái niệm, phân loại, ứng dụng, và các thuật ngữ thôngdụng Về cơ bản, học máy, học sâu là quá trình cung cấp cho máy tính các bộ

dữ liệu đã có, để máy tính phân tích, học hỏi từ dữ liệu đã cho, rồi đưa ra dựđoán cho dữ liệu tương lai Học máy, học sâu xuất hiện đã có những tác động

to lớn, làm thay đổi bộ mặt trong rất nhiều ngành, lĩnh vực: Tài chính, ngânhàng, giải trí, bảo mật, Trong chương này, em cũng trình bày khái quát vềbái toán giấu tin mật, các khái niệm liên quan Đồng thời nêu ra được các kỹthuật giấu tin và các kỹ thuật phát hiện tin giấu cơ bản

Trang 32

CHƯƠNG 2 GIẤ

U TIN VÀO ẢNH SỐ SỬ DỤNG MẠNG HỌC SÂU HiDDeN

Quá trình nghiên cứu áp dụng học sâu trong bài toán giấu tin trong ảnh

đã được chú ý trong một vài năm trở lại đây, và đạt được nhiều kết quả đángkhích lệ Một trong những nghiên cứu được công bố mới đây (07/2018) tạihội nghị uy tín về thị giác máy tính ECCV 2018 (European Conference onComputer Vision) của Jirenz và cộng sự, mô hình giấu tin trong ảnh số có tên

là HiDDeN [42] với những kết quả ban đầu đạt được khá khả quan HiDDeN

là một mô hình sử dụng kết hợp các mạng nơ-ron học sâu: mạng tích chập[39] và mạng sinh mẫu đối kháng [12] Khả năng phát hiện tin giấu của môhình được đánh giá bởi một công cụ tiêu chuẩn là Unsupervised SteganalysisBased on Artificial Traning set (ATS) [25], với kết quả đạt được vượt trội hơnhẳn so với các mô hình tốt nhất đã đề xuất tại thời điểm công bố

2.1 Mạng tích chập Convolutional Neural Network - CNN

2.1.1 Giới thiệu chung về mạng tích chập

Như ta đã thấy ở phần 1.1.2.2, hình thái đầu tiên của mô hình học sâu –mạng nơ-ron kết nối đầy đủ nhận dữ liệu từ lớp đầu vào, xử lý dữ liệu bằngcác lớp ẩn, và chuyển kết quả cho lớp đầu ra Một mạng như thế ta tạm gọi làmạng nơ-ron thông thường Mỗi lớp của mạng nơ-ron thông thường được tạobởi các nơ-ron, một nơ-ron của lớp phía sau liên kết với tất cả nơ-ron của lớpphía trước, nhưng không có liên hệ gì với nơ-ron ở cùng lớp với mình Tínhchất này khiến cho mạng không có tính mở rộng cao và không phù hợp vớicác bài toán về xử lý ảnh Ví dụ với tập dữ liệu CIFAR-10, các bức ảnh cókích thước 32x32x3, vì thế một nơ-ron đơn lẻ trong lớp ẩn đầu tiên của mạngnơ-ron thông thường sẽ có 32x32x3=3072 tham số, con số này là không lớn.Nhưng với ảnh lớn hơn, 200x200x3, mỗi nơ-ron có 200x200x3= 120.000

Trang 33

tham số, mà một mạng nơ-ron thường bao gồm nhiều lớp với tổng số nơ-ronlớn, dẫn đến tổng

số tham số cũng lớn theo

Mô hình mạng tích chập, tiếp cận theo một hướng khác, tập trung vàocác bài toán nhận đầu vào là một ảnh gồm 3 chiều: Chiều dài, chiều rộng vàchiều sâu Một bức ảnh trong tập CIFAR-10 có dài 32 x rộng 32 x sâu 3 Đầu

ra của một lớp tích chập cũng là một khối 3 chiều: chiều dài x chiều rộng xchiều sâu Hình 2 8 biểu diễn sự khác biệt giữa mạng nơ-ron thông thường

và mạng nơ-ron tích chập

Hình 2.8 Sự khác biệt giữa mạng nơ-ron thông thường và mạng tích chập.

Mạng tích chập lần đầu được đề xuất bởi Yann Lecun năm 1989 Đếnnăm 1998, Lecun công bố mô hình đầu tiên có tên gọi là LeNet5 [24] Tuynhiên, thời điểm đó, LeNet5 không giành được nhiều sự chú ý, cũng giốngnhư lĩnh vực học sâu lúc bấy giờ Đến năm 2012, AlexNet [23]- một mạngtích chập giành chiến thắng thuyết phục tại Image Large Scale VisualRecognition Challenge (ILSVRC) – kỳ thi uy tín nhất trong lĩnh vực nhậndiện ảnh với 10% sai lệch ít hơn so với vị trí thứ 2, đã tạo tiền đề cho sự pháttriển mạnh mẽ của mạng tích chập sau đó Lần lượt các mô hình mới, với

Trang 34

nhiều cải tiến và độ chính xác tốt hơn đã ra đời, như GoogleNet [35],VGGNet [37], ResNet [15] (Hình 2 9).

Hình 2.9 Kết quả trong bài kiểm tra phân loại vật thể tại ILSVRC

từ 2011 đến 2016.

2.1.2 Cấu trúc các lớp trong một mạng tích chập

Giống một mạng nơ-ron thông thường, mạng tích chập cũng được tạothành bằng cách xếp các lớp lại với nhau, đầu ra của lớp trước là đầu vào củalớp sau Có 3 loại lớp trong một mạng nơ-ron tích chập, đó là: Lớp tích chập(Convolution layer), lớp tổng hợp (Pooling layer), và lớp kết nối đầy đủ(Fully-connected layer)

2.1.2.1 Lớp tích chập (Convolution layer)

Tham số của một lớp tích chập là các giá trị trong một tập hợp các bộlọc có khả năng học (learnable filters) Khái niệm bộ lọc lấy từ lĩnh vực xử lýảnh, là một ma trận vuông, mỗi phần tử của ma trận là một giá trị thực Bộ lọc

áp dụng cho mỗi pixel trên ảnh, cho ra một ảnh mới từ ảnh ban đầu (Hình

2 10)

Trang 35

Hình 2.10 Hoạt động của một bộ lọc trong xử lý ảnh truyền thống

Trong một lớp tích chập, bộ lọc cũng có 2 chiều, dài và rộng, nhưngthêm 1 chiều độ sâu ứng với độ sâu của đầu vào Khác với bộ lọc trong xử lýảnh do con người tự định nghĩa, ở mạng tích chập, bộ lọc được tự học toàn bộbằng máy tính Ví dụ trong Hình 2 11, một bộ lọc ở lớp tích chập đầu tiên cókích thước 5x5x3 (chiều dài, rộng bằng 5, và độ sâu 3 tương ứng với ảnh màuRGB đầu vào) Bộ lọc sẽ di chuyển theo 2 chiều dài và rộng, tính tích vôhướng của bộ lọc và vùng ảnh tương ứng, rồi đưa giá trị qua một hàm kíchhoạt Như vậy, mỗi một bộ lọc cho ta một ma trận giá trị thực, một tập hợp bộlọc cùng kích thước cho ta một tập hợp ma trận cùng kích thước, xếp cạnhnhau ta được 1 khối 3D là đầu vào của lớp phía sau trong mạng tích chập.Một khối như thế là gọi là một biểu diễn (representation)

Hình 2.11 Một bộ lọc trong mạng tích chập.

Mỗi một bộ lọc làm nhiệm vụ tìm kiếm một đặc trưng của ảnh, tập hợpcủa các bộ lọc sẽ tìm các đặc trưng cần thiết của ảnh để làm các nhiệm vụ tiếptheo Ưu điểm của mạng nơ-ron tích chập trong bài toán xử lý ảnh là xem xét

Trang 36

tính chất của từng vùng ảnh, có sự liên kết giữa những pixel gần nhau, khôngphá vỡ kết cấu không gian của ảnh như mạng nơ-ron kết nối đầy đủ Số lượngcác bộ lọc tương ứng với độ sâu của khối đầu ra Giá trị này là một siêu tham

số (hyperparameter)

Để định nghĩa một lớp tích chập, ta có các thông số sau đây:

- Chiều dài, chiều rộng, độ sâu của bộ lọc

- Bước nhảy (Stride): Độ dài mỗi bước dịch chuyển pixel Trong Hình

2 12, lớp tích chập có bước nhảy 2, nghĩa là mỗi bước dịch chuyển bộ lọcsang phải 2 đơn vị pixel, sau đó lần lượt xuống dưới 2 đơn vị

Hình 2.12 Lớp tích chập với bước nhảy 2.

- Khoảng đệm (Padding): Là các giá trị chèn vào các phía bên ngoàicủa khối đầu vào, để đảm bảo yêu cầu về kích cỡ Có nhiều cách tạo khoảngđệm, nhưng dùng chủ yếu là đệm toàn 0 (zero-padding), hoặc đệm với giá trị

là cạnh ngoài cùng (edge-padding) Hình 2 13 là minh họa cho lớp tích chập

có khoảng đệm bằng 1

Trang 37

Hình 2.13 Lớp tích chập với khoảng đệm bằng 1.

- Độ giãn nở (Dilation): Là khoảng cách giữa các pixel trong vùng đầuvào Khoảng cách này càng lớn, bộ lọc càng bao quát được 1 vùng ảnh rộnghơn Hình 2 14 là minh họa cho lớp tích chập có độ giãn nở bằng 1

Hình 2.14 Lớp tích chập với độ giãn nở bằng 1.

2.1.2.2 Lớp tổng hợp (Pooling layer)

Đây là lớp đặt giữa các lớp tích chập, có nhiệm vụ làm giảm kích cỡcủa một biểu diễn, giảm tham số cần thiết, giảm hiện tượng overfitting, bằngcách tổng hợp các thông tin cần thiết nhất của 1 biểu diễn Lớp tổng hợp tácđộng riêng rẽ đến từng lớp (theo độ sâu) của một biểu diễn, vì thế chỉ có 2chiều dài, rộng của biểu diễn là thay đổi, còn độ sâu thì không đổi Có 2 loạilớp tổng hợp được sử dụng rộng rãi nhất: Tổng hợp lấy phần tử lớn nhất(Max-pooling), tổng hợp lấy giá trị trung bình (Average pooling) (Hình

2 15)

Ngày đăng: 17/01/2021, 16:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
3. Nguyễn Thái Sơn (2016), Thủy vân thuận nghịch trên ảnh số và một số ứng dụng trong y tế.Tiếng Anh Sách, tạp chí
Tiêu đề: Thủy vân thuận nghịch trên ảnh số và một sốứng dụng trong y tế
Tác giả: Nguyễn Thái Sơn
Năm: 2016
18. Vojtěch Holub, Jessica Fridrich, and Tomáš Denemark (2014), Universal distortion function for steganography in an arbitrary domain. Eurasip J. Inf.Secur Sách, tạp chí
Tiêu đề: Universaldistortion function for steganography in an arbitrary domain. Eurasip J. Inf
Tác giả: Vojtěch Holub, Jessica Fridrich, and Tomáš Denemark
Năm: 2014
24. Yann Lecun, Leon Bottou, Yoshua Bengio, and Patrick Ha (1998), LeNet.In Proceedings of the IEEE Sách, tạp chí
Tiêu đề: LeNet
Tác giả: Yann Lecun, Leon Bottou, Yoshua Bengio, and Patrick Ha
Năm: 1998
30. Ernst Dietrich Munz (2017), Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift Sergey.Nervenheilkunde Sách, tạp chí
Tiêu đề: Batch Normalization: Accelerating DeepNetwork Training by Reducing Internal Covariate Shift Sergey
Tác giả: Ernst Dietrich Munz
Năm: 2017
41. Hang Zhao, Orazio Gallo, Iuri Frosio, and Jan Kautz (2016), Loss Functions for Image Restoration With Neural Networks. IEEE Trans.Comput. Imaging Sách, tạp chí
Tiêu đề: LossFunctions for Image Restoration With Neural Networks. IEEE Trans
Tác giả: Hang Zhao, Orazio Gallo, Iuri Frosio, and Jan Kautz
Năm: 2016
1. Trần Đại Dương (2012), Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số wavelet Khác
4. Abien Fred Agarap (2018), Deep Learning using Rectified Linear Units (ReLU) Khác
5. Shumeet Baluja (2017), Hiding Images in Plain Sight: Deep Steganography. In Advances in Neural Information Processing Systems 30 Khác
6. Mauro Barni and Stefan Katzenbeisser (2010), Digital watermarking. In Handbook of Financial Cryptography and Security Khác
7. Anthony L. Caterini and Dong Eui Chang (2018), Recurrent neural networks. In SpringerBriefs in Computer Science Khác
8. Franỗois Chollet (2016), Xceptinon: Deep Learning with Separable Convolutions. arXiv Prepr. arXiv1610.02357 (2016) Khác
9. Laurent Dinh, David Krueger, and Yoshua Bengio (2015), NICE : N ON - LINEAR I NDEPENDENT C OMPONENTS Khác
10. M. Divya Bharathi and T. Dhikhi (2016), A survey on image steganography techniques. Int. J. Pharm. Technol Khác
11. Xuedan Du, Yinghao Cai, Shuo Wang, and Leijie Zhang (2017), Overview of deep learning. Proc. - 2016 31st Youth Acad. Annu. Conf. Chinese Assoc Khác
12. Ian J. Goodfellow (2014), Generative Adversarial Nets Ian. Corrosion Khác
13. Dongbing Gu (2011), A game theory approach to target tracking in sensor networks. IEEE Trans. Syst. Man, Cybern. Part B Cybern Khác
14. Gokhan Gul and Fatih Kurugollu (2011), A new methodology in steganalysis: Breaking highly undetectable steganograpy (HUGO). In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) Khác
15. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun (2016), Deep residual learning for image recognition. In Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition Khác
16. G. E. Hinton and R. R. Salakhutdinov (2006), Reducing the dimensionality of data with neural networks. Science (80-. ) Khác
17. Vojtěch Holub and Jessica Fridrich (2012), Designing steganographic distortion using directional filters. In WIFS 2012 - Proceedings of the 2012 IEEE International Workshop on Information Forensics and Security Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w