1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tìm hiểu về deep learning và xây dụng mô hình minh họa

78 15 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 78
Dung lượng 2,32 MB

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

Nội dung

Trong chương2, chúng tôi giới thiệu convolutional neural network, đặc biệt dùng để xử lí dữ liệu hình ảnh.. Những điểm mới vànhững sửa đổi sẽ được mô tả chi tiết trong văn bản chính, và

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

12, 2017

Trang 2

LỜI CÁM ƠN

Trong suốt thời gian thực hiện đồ án, chúng tôi đã nhận được rấtnhiều sự giúp đỡ từ các thầy cô của trường Đại học Công nghệ thôngtin, đặc biệt là thầy Vũ Thanh Nguyên – người đã trực tiếp giảng dạy

và hướng dẫn chúng tôi thực hiện đồ án này

Trong quá trình thực hiện, chúng tôi đã tham khảo dựa trên các bàitổng hợp trong Tiếng Anh củaWang et al [2017] vàEpelbaum[2017],chúng tôi xin gửi lời cám ơn chân thành đến những đóng góp của cáctác giả

Mặc dù chúng tôi đã cố gắng rất nhiều nhưng chắc chắn không thểtránh khỏi những sai sót Chúng tôi rất mong nhận được sự đóng góp

từ quý thầy cô cũng như các bạn đã đọc bài báo cáo này

Trang 3

Bài báo cáo này giới thiệu các mô hình tiên tiến phổ biến gồm forward Neural Network, Convolutional Neural Network và RecurrentNeural Network Thay vì chỉ áp dụng Deep Learning với một số thưviện có sẵn, chúng tôi mong muốn thực sự hiểu nó là gì Chúng tôitập trung vào những ý tưởng ban đầu để hình thành, sự phát triểncủa chúng cho đến hiện tại và đánh giá các mô hình.

Trang 4

Feed-Mục lục

1.1 Giới thiệu 1

1.2 Kiến trúc FNN 1

1.3 Các kí hiệu 2

1.4 Cân bằng trọng số 3

1.5 Hàm kích hoạt 4

1.5.1 Hàm sigmoid 4

1.5.2 Hàm tanh 5

1.5.3 Hàm ReLU 5

1.5.4 Hàm leaky-ReLU 6

1.5.5 Hàm ELU 7

1.6 Các layer của FNN 8

1.6.1 Input layer 8

1.6.2 Fully connected layer 9

1.6.3 Output layer 9

1.7 Loss function 10

1.8 Các kỹ thuật Regularization 11

1.8.1 L2 regularization 11

1.8.2 L1 regularization 12

Trang 5

MỤC LỤC

1.8.3 Clipping 13

1.8.4 Dropout 13

1.8.5 Batch Normalization 13

1.9 Backpropagation 15

1.9.1 Backpropagate thông qua Batch Normalization 16

1.9.2 Cập nhật error 16

1.9.3 Cập nhật trọng số 17

1.9.4 Cập nhật Coefficient 18

1.10 Dữ liệu nào sử dụng cho gradient descent? 18

1.10.1 Full-batch 18

1.10.2 Stochastic Gradient Descent (SGD) 18

1.10.3 Mini-batch 19

1.11 Những kỹ thuật Gradient optimization 19

1.11.1 Momentum 19

1.11.2 Nesterov accelerated gradient 20

1.11.3 Adagrad 20

1.11.4 RMSprop 21

1.11.5 Adadelta 21

1.11.6 Adam 22

1.12 Khởi tạo trọng số 22

2 Convolutional Neural Networks 24 2.1 Giới thiệu 24

2.2 Kiến trúc CNN 24

2.3 Tính đặc thù của CNN 25

2.3.1 Feature map 25

2.3.2 Input layer 25

2.3.3 Padding 26

2.3.4 Convolution 26

2.3.5 Pooling 28

2.3.6 Towards fully connected layers 29

2.3.7 Fully connected layers 30

2.3.8 Output connected layer 31

Trang 6

MỤC LỤC

2.4 Các điều chỉnh với Batch Normalization 31

2.5 Các kiến trúc CNN 32

2.5.1 Realistic architectures 33

2.5.2 LeNet 34

2.5.3 AlexNet 34

2.5.4 VGG 35

2.5.5 GoogleNet 35

2.5.6 ResNet 36

2.6 Backpropagation 37

2.6.1 Backpropagate trong Batch Normalization 37

2.6.2 Cập nhật Error 37

2.6.2.1 Backpropagate từ output đến fc 37

2.6.2.2 Backpropagate từ fc đến fc 38

2.6.2.3 Backpropagate từ fc đến pool 38

2.6.2.4 Backpropagate từ pool đến conv 39

2.6.2.5 Backpropagate từ conv đến conv 39

2.6.2.6 Backpropagate từ conv đến pool 40

2.6.3 Cập nhật trọng số 40

2.6.3.1 Cập nhật trọng số từ fc đến fc 40

2.6.3.2 Cập nhật trọng số từ fc đến pool 41

2.6.3.3 Cập nhật trọng số từ conv đến conv 41

2.6.3.4 Cập nhật trọng số từ conv đến pool và conv đến input 42

2.6.4 Cập nhật Coefficient 42

2.6.4.1 Cập nhật Coefficient từ fc đến fc 42

2.6.4.2 Cập nhật Coefficient từ fc đến pool và conv đến pool 43

2.6.4.3 Cập nhật Coefficient từ conv đến conv 43

3 Recurrent Neural Networks 45 3.1 Giới thiệu 45

3.2 Kiến trúc RNN-LSTM 45

3.2.1 Hướng Forward trong RNN-LSTM 45

Trang 7

MỤC LỤC

3.2.2 Hướng backward trong RNN-LSTM 47

3.3 Extreme Layers và loss function 47

3.3.1 Input layer 47

3.3.2 Output layer 48

3.3.3 Loss function 48

3.4 Các đặc trưng của RNN 48

3.4.1 Cấu trúc RNN 48

3.4.2 Forward pass trong RNN 50

3.4.3 Backpropagation trong RNN 50

3.4.4 Cập nhật trọng số và coefficient trong RNN 51

3.5 Đặc trưng của LSTM 52

3.5.1 Cấu trúc LSTM 52

3.5.2 Hường forward trong LSTM 53

3.5.3 Batch normalization 55

3.5.4 Backpropagation trong LSTM 56

3.5.5 Cập nhật trọng số và coefficient trong LSTM 57

4 Xây dựng mô hình minh họa 58 4.1 Giới thiệu 58

4.2 Mã nguồn 58

4.3 Dữ liệu 59

4.4 Xây dựng mô hình 59

4.5 Huấn luyện mô hình 61

4.6 Kết quả 62

Trang 8

Danh sách hình vẽ

1.1 Neural Network với N + 1 layers (N − 1 hidden layers) Shallow architectures thường chỉ có một hidden layer Deep learning có một

số hidden layer, thường chứa cùng số lượng hidden neuron 2

1.2 Quá trình weight averaging 3

1.3 Hàm sigmoid và đạo hàm của nó 4

1.4 Hàm tanh và đạo hàm của nó 5

1.5 Hàm RELU và đạo hàm của nó 6

1.6 Hàm leaky-RELU và đạo hàm của nó 7

1.7 Hàm ELU và đạo hàm của nó 8

1.8 Neural network trong hình1.1 với dropout cho cả các hidden layer và input Thông thường, một tỉ lệ khác nhau (thấp hơn) dùng cho việc tắc các nơ-ron của input và các hidden layers 14

2.1 Một kiến trúc CNN (đây là LeNet): các convolution operation được theo sau là pooling operation, cho đến khi kích thước feature map giảm còn một Fully connected layers sau đó được kết nối 25

2.2 Input layer 26

2.3 Padding của feature map Những số không được thêm vào là những tile màu đỏ, kích thước padding này là P = 1 27

2.4 Convolution operation 27

2.5 The pooling operation 29

2.6 Fully connected operation để lấy chiều rộng và chiều cao 1 30

2.7 Fully connected operation, giống như FNN operations 31

2.8 Sơ đồ đại diện của các layer khác nhau 33

Trang 9

DANH SÁCH HÌNH VẼ

2.9 Realistic Fully connected operation và Realistic Convolution

oper-ation 33

2.10 The LeNet CNN 34

2.11 The AlexNet CNN 34

2.12 The VGG CNN 35

2.13 The GoogleNet CNN 35

2.14 Kiến trúc Bottleneck Residual Sơ đồ trên lí thuyết bên trái, thực tế ở bên phải Nó cần một 1 × 1 conv với stride 1 và padding 0, sau đó một VGG conv chuẩn và 1 × 1 conv 36

2.15 The ResNet CNN 36

2.16 Backpropagate từ output đến fc 38

2.17 Backpropagate từ fc đến fc 38

2.18 Backpropagate từ fc đến pool 39

2.19 Backpropagate từ pool đến conv 39

2.20 Backpropagate từ conv đến conv 40

2.21 Backpropagate từ conv đến pool 40

2.22 Cập nhật trọng số giữa hai fc layer 41

2.23 Cập nhật trọng số giữa fc layer và pool layer 41

2.24 Cập nhật trọng số giữa hai conv layer 41

2.25 Cập nhật trọng số từ conv đến pool cũng giống như từ conv đến input 42

2.26 Cập nhật Coefficient giữa hai fc layer 42

2.27 Cập nhật Coefficient từ fc đến pool cũng giống như từ conv đến pool 43

2.28 Cập nhật Coefficient giữa hai conv layer 43

3.1 Kiến trúc RNN, với dữ liệu được lan truyền theo cả "không gian" và "thời gian" Trong ví dụ, chiều thời gian có kích thước là 8, không gian có kích thức là 4 46

3.2 Hướng backward trong kiến trúc Do đó không thể tính toán gra-dient của một layer mà không tính toán những cái mà nó đã đi qua 47

3.3 Các chi tiết của RNN hidden unit 49

Trang 10

DANH SÁCH HÌNH VẼ

3.4 Cách hidden unit RNN tương tác với nhau 49

3.5 Chi tiết LSTM hidden unit 53

3.6 Cách các LSTM hidden unit tương tác với nhau 54

4.1 Minh họa dữ liệu của CIFAR-10 59

4.2 Mô hình CNN đơn giản của chúng tôi 60

Trang 11

Giới thiệu

Bản chất kiến trúc nhiều lớp cho phép deep learning khả năng giải quyết nhiềuvấn đề AI phức tạp hơn [Bengio et al.,2009] Vì vậy, các nhà nghiên cứu đang mởrộng ứng dụng deep learning tới các lĩnh vực và vấn đề mới, ví dụ: Osako et al.[2015] sử dụng recurrent neural network để denoise các tính hiệu thoại; Gupta

et al [2015] để khám phá các pattern phân cụm của các biểu hiện gen; Gatys

et al [2015] sử dụng một mô hình nơ-ron để tạo ra các hình ảnh với các kiểukhác nhau; Wang et al [2016] dùng deep learning để phân tích tâm lý từ nhiềuphương thức đồng thời; vv Đây là giai đoạn chứng kiển sự bùng nổ của lĩnh vựcnghiên cứu deep learning

Để tham gia và thúc đẩy quá trình nghiên cứu deep learning, chúng ta cần phảihiểu rõ các kiến trúc của các mô hình và tại sao chúng tồn tại Chúng tôi tậptrung vào ba loại mô hình deep learning phổ biến theo một trình tự từ đơn giảnđến phức tạp thông qua các chương

Chương 1 bắt đầu với loại mô hình đầu tiên được giới thiệu trong lịch sự: môhình feedforward neural network, đây là bước phát triển từ thuật toán perceptronnguyên bản Rosenblatt[1958] Các mô hình feedforward network có cấu trúc xếpchồng các lớp perceptron lên trên những lớp khác, như non-linear regression

Trong chương2, chúng tôi giới thiệu convolutional neural network, đặc biệt dùng

để xử lí dữ liệu hình ảnh Chúng tôi giới thiệu về những kiến thứ toán như lution, pooling, v.v Cũng như cho thấy sự thay đổi của các kiến trúc khối đượcgiới thiệu ở chương 1 Nhiều kiến trúc neural network được giới thiệu kèm theo

Trang 12

convo-Chương 3 sẽ giới thiệu recurrent neural network, kiến trúc thích hợp để xử lícác dữ liệu có cấu trúc temporal–như thời gian và văn bản Những điểm mới vànhững sửa đổi sẽ được mô tả chi tiết trong văn bản chính, và các phụ lục cungcấp các công thức phức tạp nhất của loại kiến trúc mạng này.

Ở chương 4, chúng tôi xây dựng một mô hình minh họa thuộc loại tional Neural Network (được giới thiệu trong chương 2), áp dụng các kỹ thuật,phương pháp trong bài báo cáo để thực hành các kiến thức đã tìm hiểu

Trang 13

xử lý các dữ liệu có cấu trúc "sâu": neural network với một số lượng đáng kể cáchidden state và các hidden layer, những thứ đã được chứng minh là rất khó đểhuấn luyện (các vấn đề vanishing gradient và overfitting).

1.2 Kiến trúc FNN

Một FNN được tạo thành bởi một input layer, một (shallow network) hoặc nhiềuhơn (deep network) các hidden và một output layer Mỗi layer của network (trừoutput) được kết nối với một layer phía sau Kết nối này là trung tâm của cấutrúc FNN và có hai tính năng chính ở dạng đơn giản nhất: cân bằng trọng số vàkích hoạt Chúng tôi sẽ trình bày các tính năng này trong các phần sau

Trang 14

Hình 1.1: Neural Network với N + 1 layers (N − 1 hidden layers) Shallow tectures thường chỉ có một hidden layer Deep learning có một số hidden layer,thường chứa cùng số lượng hidden neuron.

archi-1.3 Các kí hiệu

Trong những phần sau, chúng tôi sẽ sử dụng

• N số lượng layer (không tính input) trong một Neural Network

• Ttrain số lượng example trong dữ dữ liệu huấn luyện

• Tmb số lượng example trong một mini-batch (xem phần 1.7)

• t ∈J0, Tmb− 1K instance trong mini-batch.

• ν ∈ J0, N K số lượng layer của FNN.

• Fν số lượng nơ-ron của layer thứ ν

• Xf(t) = h(0)(t)f với f ∈J0, F0 − 1K các biến đầu vào.

• y(t)f với f ∈ [0, FN − 1] các biến đầu ra (để dự đoán)

Trang 15

Hình 1.2: Quá trình weight averaging.

• ˆy(t)f với f ∈ [0, FN − 1] đầu ra của network

• Θ(ν)ff 0 với f ∈ [0, Fν − 1], f0 ∈ [0, Fν+1 − 1] và ν ∈ [0, N − 1] các ma trậntrọng số (weights matrix)

1.4 Cân bằng trọng số

Một trong hai component chính của FNN là quá trình cân bằng trọng số, ướclượng để cân bằng các output layer phía trước với những ma trận trọng số để điđến layer kế tiếp Minh họa trên Hình 1.2

Quá trình cân bằng trọng số dưới dạng công thức:

Trang 16

Hình 1.3: Hàm sigmoid và đạo hàm của nó.

1.5 Hàm kích hoạt

Hidden neuron của mỗi layer được định nghĩa như sau

h(t)(ν+1)f = ga(t)(ν)f  , (1.2)

với ν ∈ J0, N − 2K, f ∈ J0, Fν+1− 1K và t ∈ J0, Tmb − 1K Ở đây g làm một hàmkích hoạt – thành phần chính thứ hai của FNN – dự đoán dữ liệu đầu ra mộtcách không tuyến tính Trong thực tế, g thường là một trong những hàm được

mô tả trong những phần dưới đây

Trang 17

Hình 1.4: Hàm tanh và đạo hàm của nó.

Trang 18

Hình 1.5: Hàm RELU và đạo hàm của nó.

The leaky-ReLU nhận giá trị trong đoạn [−∞, +∞] và là một sửa đổi nhỏ củaReLU cho phép các hidden neuron nhận giá trị khác không với bất kì giá trị x.Công thức của nó là

Trang 19

Hình 1.6: Hàm leaky-RELU và đạo hàm của nó.

Trang 20

Hình 1.7: Hàm ELU và đạo hàm của nó.

sample của dữ liệu huận luyện, với T mb  T train Trông các phần sau, sẽ có t ∈J0, Tmb − 1K.

Trang 21

và f ∈ J0, F0 − 1K Một bước xử lí thông thường để trung tâm hóa dữ liệu đầuvào:

˜

Xf(t) = Xf(t)− µf , (1.15)với

The fully connected operation thực chất chỉ là hoạt động kết nối giữa việc cấnbằng trọng số và quá trình kích hoạt Cụ thể, ∀ν ∈J0, N − 1K

Đầu ra của FNN

h(t)(N )f = o(a(t)(N −1)f ) , (1.20)

Trang 22

với o được gọi làm hàm output Trong các trường hợp Euclidean loss function,hàm output chỉ là nhận dạng Các các bài toán phân loại, o là hàm softmax.

Trang 23

λ−1L2 với

Trang 24

cùng tham số λL2, chúng ta có biểu thức sau

f 0 h(t)(ν)

 (1.29)Lấy log của nó và bỏ qua các constant term, ta có

và term cuối cùng chính xác là L2 regulator cho một giá trị nu cho trước (xemcông thức (1.26)

Θ(ν)ff0

(1.31)

Nó cũng thường được sử dụng như L2 regularization, nhưng không dùng theo cáchriêng lẻ giá trị thông thường của λL1 trong khoảng 10−4− 10−2 L1 regularizationvới suy luận Bayes với phân phối chuẩn Laplacian

FΘ(ν)ff0

Trang 25

số trường hợp, ngay cả một số biến đầu vào) cho mỗi example huấn luyện.

Việc tính toán này được thực hiện thông qua: với ν ∈J1, N − 1K

Trang 26

mini-Hình 1.8: Neural network trong hình 1.1 với dropout cho cả các hidden layer

và input Thông thường, một tỉ lệ khác nhau (thấp hơn) dùng cho việc tắc cácnơ-ron của input và các hidden layers

Ở đây, chúng tôi xem xét trường hợp ∀ν ∈J0, N − 2K

˜

h(t)(ν)f = h

(t)(ν+1)

f − ˆh(ν)fr

Trang 27

y(t)(ν)f = γf(ν)˜h(t)(ν)f + βf(ν)= ˜γf(ν)h(t)(ν)f + ˜βf(ν) (1.38)

Hệ số βf(ν) thúc đẩy chúng ta thoát khỏi xu hướng thiên vị, vì nó được baogồm trong batchnorm Trong quá trình huấn luyện, ta phải tính tóa giá trị trungbình và phương sai, phục vụ cho việc đánh giá cross-validation và tập dữ liệukiểm tra (gọi e là số các vòng lặp – iterations/epochs)

Trang 28

nhiên, nếu được thực hiện đúng, đây là công việc hữu ích và quan trọng nhấttrong FNN Do đó chúng tôi mô tả sẽ chi tiết làm thế nào để tính toán mỗi trọng

số (và Batistorm coefficients) gradients

Backpropagation giới thiệu một gradient mới

δff0Jf(tt0)(ν) = ∂y

(t0)(ν)

f 0

∂h(t)(ν+1)f . (1.43)với

Trang 29

và với cross entropy loss function

f000=0

∂Θ(ν)f00

Trang 30

1.10 Dữ liệu nào sử dụng cho gradient descent?

Từ đầu chúng ta đã kí hiệu Tmb dữ liệu mẫu mà chúng ta sẽ huấn luyện mô hình.Thủ tục này được lặp lại với thời gian dài (mỗi lần được gọi là epoch) Tồn tại

ba cách để lấy mẫu từ các dữ liệu: Full-batch, Stochastic và Mini-batch gradientdescent Chúng tôi nêu rõ các điều khoản này trong các phần sau Chúng tôi nêu

rõ các vấn đề này trong các phần sau

SGD tính toán để lấy một phần mẫu của dữ liệu trong mỗi epoch

Trang 31

Sự lựa chọn này dẫn đến việc tính toán nhanh hơn, nhưng vì vậy không ổn định

về số lượng Sự lựa chọn chuẩn nhất cho đến nay là Mini-batch gradient descent

Tất cả các tính toán trong báo cáo này đều sử dụng kỹ thuật gradient descent

1.11 Những kỹ thuật Gradient optimization

Khi mà các gradient cho backpropagation được tính toán, câu hỏi là làm thế nào

để thêm chúng vào các trọng số đã tồn tại Đơn giản nhất là dùng

Θ(ν)ff0 = Θ(ν)ff0 − η∆Θ(i)ff0 (1.58)với η là một tham số ngẫu nhiên được tạo bởi cross-validation Nó cũng có thểđược tính dựa vào epoch Khi sử dụng Mini-batch gradient descent, sự lựa chọncập nhật này cho các trọng số có thể bị kẹt ở các điểm local mininum Một sốphương pháp đã được phát minh để ngăn ngừa nguy cơ này Chúng tôi sẽ xemxét chúng trong các phần tiếp theo

MomentumQian [1999] đưa ra một vec-tơ mới vevà sử dụng để lưu các cập nhật

ở những epoch trước Gọi e là số epoch và bỏ đi các chỉ sốf, f0, ν gradients đểgiảm bớt ký hiệu, chúng ta có

Trang 32

và những trọng số ở mỗi epoch e sẽ được cập nhật như sau

γ là tham số mới, thường là 0.9 nhưng có thể thay đổi bởi cross-validation

Nesterov accelerated gradient Nesterov [1983] là một sự điều chỉnh nhỏ của kỹthuật momentum cho phép gradients thoát các điểm local minimum

Trang 33

riêng biệt cho từng trọng số thông qua ve term  dùng để tránh các trường hợpchia cho 0, và nó thường là 10−8.

Adadelta Zeiler[2012] là một phần mở rộng của RMSprop, với mục đích bỏ tham

số η Để làm được điều đó, một vec-tơ mới được giới thiệu

me = γme−1+ (1 − γ) √me−1+ 

ve+  ∆

Θ e

Learning rate đã được tính hoàn toàn từ quy tắc, nhưng phương thức để làm là

ad hoc (thực hiện chỉ với một mục đích cụ thể) Kỹ thuật tối ưu hóa tiếp theo vàcuối cùng được trình bày có vẻ tự nhiên hơn và là sự lựa chọn mặc định đối với

Trang 34

1.11.6 Adam

Adam Kingma & Ba [2014] track cả gradient và bình phương của nó thông quahai vec-tơ độc lập

me= β1me−1+ (1 − β1)∆Θe , ve = β2ve+ (1 − β2) ∆Θe2 , (1.69)với β1 và β2 thường là 0.9 và 0.999 Nhưng sức mạnh và tính chắc chắn củaAdam nằm ở việc nó làm cho toàn bộ quá trình học tập phụ thuộc yếu tố vàoprecise Để tránh những vấn đề về số trong các bước đầu tiên, các vector nàyđược thay đổi tỷ lệ

ˆ

me= me

1 − βe 1

1 − βe 2

Trang 35

tạo chúng quá lớn Một heuristic tốt là

Trang 36

xe, v.v Chúng tôi sẽ giới thiệu các điểm mới liên quan đến CNN khi so sánh vớiFNN Theo đó là những khối xây dựng cơ bản của CNN: convolution và pooling.Ngoài ra chúng tôi sẽ nói đến những thay đổi phải chú ý khi áp dụng các kỹ thuậtregularization được giới thiệu trong phần FNN Cuối cùng, chúng tôi sẽ trình bàycác kiến trúc CNN phổ biến nhất: từ LeNet đến ResNet.

2.2 Kiến trúc CNN

Một CNN được hình thành bởi một số operation convolution và pooling, thường

là theo sau bởi một hoặc nhiều fully connected layer (tương tự như các layer FNNtruyền thống) Chúng tôi sẽ chỉ rõ các điểm mới được giới thiệu trong phần tiếptheo

Trang 37

Hình 2.1: Một kiến trúc CNN (đây là LeNet): các convolution operation đượctheo sau là pooling operation, cho đến khi kích thước feature map giảm còn một.Fully connected layers sau đó được kết nối.

2.3 Tính đặc thù của CNN

Trong mỗi layer của CNN, dữ liệu không còn được gắn nhãn bởi một index nhưtrong FNN Chúng ta nên xem index trong FNN tương đương với nhãn một tấmảnh trong môt layer của CNN Nhãn này là một feature map

Trong mỗi feature map f ∈ J0, Fν − 1K của layer thứ ν , hình ảnh được đặctrưng bởi hai chỉ số bổ sung tương ứng là chiều cao height k ∈ Tν − 1 và chiềurộng j ∈ Nν− 1 Một bộ f, j, k đặc trưng cho một pixel duy nhất của một featuremap Bây giờ chúng ta hãy xem xét các lớp khác nhau của CNN

Chúng ta xét đầu với với F0kênh Với một ảnh thông thường, kênh này tương ứngvới kênh màu RGB (F0 = 3) Mỗi ảnh trong mỗi kênh sẽ có kích thước N0× T0(rộng × cao) Input sẽ được kí hiệu Xf j k(t) , với t ∈ J0, Tmb− 1K (kích thước củaMini-batch, xem chương 1), j ∈J0, N0− 1K và k ∈ J0, T0− 1K.Một cách xử lý đầuvào tiêu chuẩn là tập trung dữ liệu theo một trong hai thủ tục sau

˜

Xf j k(t) = Xi j k(t) − µf , X˜f j k(t) = Xi j k(t) − µf j k (2.1)

Trang 38

Khi chúng ta xử lí, để thuận tiện chúng ta "pad" các feature maps để bảo vệchiều rộng và chiều cao của hình ảnh khi đi qua các hidden layer Padding tăngthêm 0 quanh hình ảnh ban đầu Với một padding có kích thước P , chúng tôithêm P zeros vào đầu mỗi hàng và cột của một feature map nhất định Điều nàyđược minh họa trong hình 2.3

Convolution operation được đặt tên cho CNN vì đây là khối chính của loại neuralnetwork này Nó nhận một feature map vào một input hidden layer với một matrận trọng số để tạo ra một feature map đầu ra Các trọng số này là các tensor 4

Trang 39

Hình 2.3: Padding của feature map Những số không được thêm vào là nhữngtile màu đỏ, kích thước padding này là P = 1.

Vì RC là kích thước của convolutional receptive field (pooling operation cũng

có receptive field và stride) và SC là convolutional stride Chiều rộng và chiều caocủa hình đầu ra có thể được tính theo chiều rộng đầu vào N và chiều cao đầu

... chiều cao hình ảnh qua hidden layer Padding tăngthêm quanh hình ảnh ban đầu Với padding có kích thước P , chúng tôithêm P zeros vào đầu hàng cột feature map định Điều nàyđược minh họa hình 2.3

Convolution... cross-validation Nó có thểđược tính dựa vào epoch Khi sử dụng Mini-batch gradient descent, lựa chọncập nhật cho trọng số bị kẹt điểm local mininum Một sốphương pháp phát minh để ngăn ngừa nguy Chúng xemxét... class="text_page_counter">Trang 26

mini -Hình 1.8: Neural network hình 1.1 với dropout cho hidden layer

và input Thông thường, tỉ lệ khác (thấp hơn) dùng cho việc tắc

Ngày đăng: 20/12/2021, 16:44

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

TÀI LIỆU LIÊN QUAN

w