Hỏi đáp

Tại Sao Mạng Tích Chập Là Gì ? Tích Chập Là Gì – viettingame

Mở bài

Vì sao mình lại viết bài này? Lúc đó, mình đang đọc bài này của một chúng ta team mình, và tự nhiên mình đưa ra thắc mắc:

Vì sao mạng/lớp tích chập lại sinh hoạt hiệu suất cao?

Nhiều lúc mình cũng nghĩ về chuyện này, rồi tự nhủ mình hiểu rồi, để rồi sau nó lại tự hỏi mình đã thực sự hiểu chưa. Rõ ràng, thắc mắc to nhất mà mình sở hữu là:

Vì sao máy mà thậm chí học được điểm chung những ảnh vô cùng không giống nhau? Rõ ràng, 2 con chó khác hoàn toàn nhau mà nó vẫn nhận ra? Đồng thời cùng lúc, những hình nền cũng không giống nhau? Thậm chí ảnh sở hữu tận 2 con chó? Những con chó khác giống nhau — ví dụ, một con béc-giê to đùng và một con chihuahua nhỏ tí tẹo? Sở hữu con đang ra dáng nghệ sỹ và sở hữu con đang nằm ườn ra?

Vậy nên, mình đã ra đi tìm đường cứu vớt nước bằng một phát Google, và sau lúc đọc nội dung bài viết này, mình quyết định viết ra bài này, vừa để reviews lại bằng tiếng Việt, vừa để mình hiểu hơn về quan điểm này — một trong những viên gạch cơ phiên bản nhất xây lên những quy mô thời thượng nhất lúc này.

Đang xem: Tích chập là gì

Định nghĩa

Các bạn mà thậm chí đọc lướt qua phần này:

Mình đưa phần này vào cho không thiếu thốn những mục, trong đó sở hữu nhiều định nghĩa lý thuyết khô khan chẳng ai muốn hiểu cả.Thời gian làm việc to là chúng ta cũng biết về mặt lý thuyết là lớp này làm gì rồi — tương tự mình, chúng ta chỉ không hiểu biết vì sao nó sinh hoạt thôi.

Tích phân chập 1 chiều miền liên tục

Công thức của tích chập 1 chiều được định nghĩa như sau:

(f∗g)(t)=Δ∫−∞+∞f(τ)g(t−τ)dτ,(f*g)(t)overset{Delta}{=}int_{-infty}^{+infty}f( au)g(t- au)d au,(f∗g)(t)=Δ∫−∞+∞​f(τ)g(t−τ)dτ,

trong đó, mình sẽ định nghĩa những hàm tương ứng với bên học máy để dễ liên hệ về sau:

f(t)f(t)f(t) là tín hiệu đầu vào — bên học máy thì này là ảnh đầu vào,g(t)g(t)g(t) là cửa sổ trượt – bên học máy là filter,ttt là vị trí tương đối (độ trễ – ttt thường được sử dụng cho thời hạn) của cửa sổ so với tín hiệu – bên học máy cũng là vị trí của filter được đặt lên ảnh gốc.

Để dễ tưởng tượng hơn 1 tẹo thì trên đây là ảnh gif minh hoạ mình lấy từ wiki về:

Sở hữu một trong những điểm ban sơ mình không hiểu biết và lúc này mình đã hiểu hơn 1 tí:

Hình ảnh gif trên ko biểu diễn hết miền thành quả. Đương nhiên là chúng ta ko thể vẽ hết thành quả trên miền liên tục vô hạn rồi (tích phân trên cả Rmathbb{R}R mà). Những thành quả phía bên trái và phải của gif trên đều bằng 0 (f(t)=g(t)=f(t)×g(t)=0f(t)=g(t)=f(t) imes g(t)=0f(t)=g(t)=f(t)×g(t)=0) nên ko được vẽ cho đỡ tốn chỗ.Ở mỗi điểm ttt thì (f∗g)(t)(f*g)(t)(f∗g)(t) là giá trị của tích giao của tín hiệu và cửa sổ với độ trễ ttt. Tích phân đó cho độ (nghịch) tương quan của tín hiệu và cửa sổ trong cả miền xác định.

Ghi chú: ko nhất thiết tích giao đó tương ứng với diện tích S của vùng giao đồ thị như trên ảnh gif. Về mặt tương trưng thì nó chỉ Tức là giá trị (f∗g)(t)(f*g)(t)(f∗g)(t) sẽ to nếu f(t)f(t)f(t) và g(t)g(t)g(t) to — tuy nhiên việc chúng tương đương với diện tích S chỉ đúng trong những trường hợp cả cửa sổ trượt chỉ tồn tại 2 giá trị là 0 và 1: g(t)∈{0,1}∀t∈Rg(t)in{0,1}forall tinmathbb{R}g(t)∈{0,1}∀t∈R. Trong trường hợp đó, ggg sẽ sở hữu tác dụng của một công tắc: lúc g(t)=1g(t)=1g(t)=1, ta sẽ tính diện tích S vùng đó của tín hiệu, và g(t)=0g(t)=0g(t)=0 thì ta bỏ qua.

Các bạn mà thậm chí thấy f(t)f(t)f(t) ko trượt mà chỉ sở hữu g(t)g(t)g(t) trượt thôi. Lý do là vì như thế trong công thức tích phân/tích chập, thành phần tín hiệu ko tùy theo ttt, mà chỉ sở hữu cửa sổ phải trượt theo thời hạn thôi.

(f⋆g)(t)=Δ∫−∞+∞f(t)g(t+τ)dτ.(fstar g)(t)overset{Delta}{=}int_{-infty}^{+infty}f(t)g(t+ au)d au.(f⋆g)(t)=Δ∫−∞+∞​f(t)g(t+τ)dτ.

Đúng vậy, dấu trừ đã trở nên đổi thành dấu cùng. Vậy, tích chập của f(t)f(t)f(t) và g(t)g(t)g(t) tương đương với độ tương quan của f(t)f(t)f(t) và g(−t)g(-t)g(−t).

Ứng dụng của tích chập liên tục 1 chiều thì hãy hỏi chúng ta làm về điện tử, mình xa xưa dốt Vật lý cơ kinh khủng.

Thay đổi qua rời rạc và những quan điểm

Giờ chúng ta sẽ phân tích từ công thức 1D qua phiên phiên bản được sử dụng trong những mạng xử lý ảnh. Trước tiên chúng ta đổi từ miền liên tục qua miền rời rạc bằng tổng Riemann:

(f∗g)(t)≈Δ∑τ∈Df∨t−τ∈Dgf(τ)g(t−τ).(f*g)(t)overset{Delta}{approx}sum_{ auin D_fvee t- auin D_g}f( au)g(t- au).(f∗g)(t)≈Δτ∈Df​∨t−τ∈Dg​∑​f(τ)g(t−τ).

Tổng Riemann ước lượng một tích phân bằng phương pháp chia nhỏ từng khoảng một và tính diện tích S của khoảng đó. Tưởng tượng trực quan về tổng Riemann như sau:

*

Số “khoảng” trên đó đó là kích cỡ của filter trong lớp tích chập. Ví dụ như filter sở hữu kích cỡ là 3×33 imes 33×3, thì lúc chúng ta nhân tích chập cũng chỉ làm 9 phép nhân thôi (rồi cùng chúng nó lại), thay vì như thế phải tích phân cả vùng liên tục.

Giờ chúng ta quay lại ảnh gif lúc nãy:

Như chúng ta mà thậm chí thấy, tích chập của ví dụ trên sở hữu một quãng từ −0.5-0.5−0.5 tới 000 lúc cửa sổ chỉ trùng với một phần của tín hiệu (mà ko phải nằm gọn trong tín hiệu). Trên đây đó là quan điểm padding. Nếu như có padding, tín hiệu sẽ được “đệm” thêm những giá trị 0 ở những nơi ko tồn tại, để việc tính tích phân mà thậm chí được triển khai trôi chảy. Nếu không tồn tại padding, cửa sổ sẽ chỉ được chính thức trượt từ nơi cửa sổ và tín hiệu giao nhau trọn vẹn (trong trường hợp trên, chính thức từ t=0.5t=0.5t=0.5).

Tích chập 2D trong xử lý ảnh

Gom hết toàn bộ quan điểm trên và qua 2D, chúng ta sở hữu phiên phiên bản tích chập cần tìm. Để sở hữu cảm xúc trước về công thức của 2D tích chập, hãy vào link này để xem (và pause nếu cần) ảnh minh hoạ sau:

Anh đầu vào kích cỡ 5x5Kernel (filter) kích cỡ 3×3 Stride 2: mỗi lần dịch chuyển kernel nhảy 2 bướcPadding 1: rìa mỗi cạnh ảnh thêm một hàng/cột toàn số 0.

*

Công thức của tích chập 2D trong xử lý ảnh như sau:

III là ảnh đầu vào,W(r,c)W(r,c)W(r,c) là ma trận filter, kích cỡ K×KK imes KK×K,W0(r,c)W^0(r,c)W0(r,c) là ma trận bias, kích cỡ như trên,ta sở hữu:

C(r,c)=I∗W(r,c)+W0(r,c)=∑i=1K∑j=1KI(r+i−1,c+j−1)W(i,j)+W0(r,c).egin{aligned}C(r,c)&=I*W(r,c)+W_0(r,c)&=sum_{i=1}^Ksum_{j=1}^KI(r+i-1,c+j-1)W(i,j)+W_0(r,c).end{aligned}C(r,c)​=I∗W(r,c)+W0​(r,c)=i=1∑K​j=1∑K​I(r+i−1,c+j−1)W(i,j)+W0​(r,c).​

Mỗi lần cửa sổ trượt (filter) ở một vị trí nào khác, chúng ta nhân từng giá trị của ảnh đầu vào với giá trị của filter ở ô tương ứng, rồi cùng chúng lại với nhau (và cùng thêm bias nếu như có) để ra thành quả sau cuối tại từng điểm. Sau đó, chúng ta trượt cửa sổ lịch sự phải (hoặc xuống dòng nếu kịch), và nối tiếp điền nốt những ô còn sót lại của thành quả.

Xem thêm: Khắc Phục Lỗi Disk 100 Win 10 0% Trên Win 10 Hoàn Toàn, 10 Cách Sửa Lỗi Full Disk Đơn Giản

Còn với phiên phiên bản 3D, lúc đầu vào của con người sở hữu nhiều kênh (như trên ảnh gif minh hoạ trên), thì filter của con người cũng mà thậm chí sở hữu cùng số kênh DDD. Sau tích chập, thành quả đầu ra sẽ là:

C(r,c)=I∗W(r,c,d)+W0=∑l=1D∑i=1K∑j=1KI(r+i−1,c+j−1,l)W(i,j,l)+W0.egin{aligned}C(r,c)&=I*W(r,c,d)+W_0&=sum_{l=1}^Dsum_{i=1}^Ksum_{j=1}^KI(r+i-1,c+j-1,l)W(i,j,l)+W_0.end{aligned}C(r,c)​=I∗W(r,c,d)+W0​=l=1∑D​i=1∑K​j=1∑K​I(r+i−1,c+j−1,l)W(i,j,l)+W0​.​

Nhưng chúng ta ơi, trên đây là công thức của cros-correlation mà? Như mình đã nói ở trên, công thức tích chập đó là công thức của cross-correlation với ma trận filter lật đối xứng với đường antidiagonal. Lý do mọi người vẫn gọi nó là lớp tích chập chính vì sự tương thích với xử lý ảnh truyền thống lâu đời, còn phép toán được thay đổi để tăng vận tốc xử lý: những CPU/GPU tân tiến đều phải có hàm nhân ma trận native. (Cảm ơn chúng ta Lê Minh Tân)

Từ giờ trở đi trong bài, nếu đang nói về mạng tích chập, kernel và filter được sử dụng thay thế lẫn nhau và cùng sử dụng để chỉ cửa sổ tích chập trượt.

Max/Average Pooling

Tương tự với tích chập, pooling cũng có thể có filter/kernel, stride, và padding. Pooling mà thậm chí được xem là một loại tích chập 2D quan trọng. Trong số đó, sự không giống nhau duy nhất là nhân kernel được thay thế bởi hàm max (lấy giá trị tối đa) hoặc average (lấy trung bình/mean). Sau trên đây là công thức cho average pooling với kernel kích cỡ d×dd imes dd×d, và stride sss:

P=1d×d∑i=1d∑j=1dI.mathbf{P}=frac{1}{d imes d}sum_{i=1}^dsum_{j=1}^dI.P=d×d1​i=1∑d​j=1∑d​I.

Và tiếp theo là hình ảnh minh hoạ của max-pooling với kích cỡ filter 2×22 imes 22×2, stride 2 và không tồn tại padding:

*

A Convolutional Block

Một khối tích chập ảnh sẽ bao hàm một (vài) lớp tích chập, rồi tới một lớp pooling. Ở những mạng tân tiến sẽ thêm một lớp đồng hoá độ to đầu vào (batch normalisation), tuy nhiên đó ko phải là chủ đề của bài này. Ví dụ như, cấu trúc của VGG16 như sau:

*

Trong số đó, chúng ta mà thậm chí thấy ảnh đầu vào được qua 2-3 lớp tích chập sở hữu padding, rồi pooling để tránh kích cỡ, và nối tiếp như vậy cho tới lúc kích cỡ ảnh xuống còn 1×11 imes 11×1. Lúc đó, chúng ta sở hữu vector đặc trưng, và sẽ đưa qua một lớp multilayer perceptron để làm trách nhiệm phân lớp. Và sau trên đây là biểu đồ khối ví dụ hơn:

*

Ý tưởng trực giác

Mình sẽ nỗ lực tìm thấy những ví dụ trực giác nhất để chúng ta mà thậm chí tưởng tượng ra được loại lớp này nó đang làm loại gì sau loại mớ hổ lốn toàn công thức toán học đáng hãi kia.

Những lớp tích chập cơ phiên bản từ xử lý ảnh truyền thống

Chúng ta hãy nhảy luôn luôn vào ví dụ ví dụ cho dễ tưởng tượng nhé: trên đây là công thức cho Sobel filter, chuyên sử dụng để phân biệt cạnh (edge detection) dọc và ngang:

Gx= vaˋ Gy=G_x=egin{bmatrix}-1 & 0 & +1-2 & 0 & +2-1 & 0 & +1end{bmatrix} ext{ và }G_y=egin{bmatrix}+1 & +2 & +1 & 0 & 0-1 & -2 & -1end{bmatrix}Gx​=⎣⎢⎡​−1−2−1​000​+1+2+1​⎦⎥⎤​ vaˋ Gy​=⎣⎢⎡​+10−1​+20−2​+10−1​⎦⎥⎤​

Chúng ta mà thậm chí thấy GyG_yGy​ chỉ là phiên phiên bản quay 90 độ của GxG_xGx​, hợp lý với việc GyG_yGy​ sử dụng để bắt những cạnh ngang, lúc GxG_xGx​ được sử dụng để bắt những cạnh dọc.

import numpy as npg_x = np.array(,,>)g_y = np.array(,,>)Sau đó, chúng ta mà thậm chí tưởng tượng ra xem sau lúc qua những filter đó, ảnh sẽ nhìn thế nào?

import matplotlib.pyplot as plt# G_xax1 = plt.subplot(1,3,1)plt.imshow(g_x, cmap=”gray”)plt.title(“$G_x$”)ax1.axis(“off”)# G_yax2 = plt.subplot(1,3,2)im = plt.imshow(g_y, cmap=”gray”)plt.title(“$G_y$”)ax2.axis(“off”)# colorbarax3 = plt.subplot(1,3,3)plt.gca().set_visible(False)plt.colorbar(im, aspect=20, shrink=.5)Chúng ta sẽ sở hữu được:

*

Như dễ nhìn ra, filter phân biệt những cột cũng có thể có độ to tăng dần theo cột, và tương tự với filter hàng ngang. Tiếp theo, chúng ta định nghĩa một phiên phiên bản cơ phiên bản của hàm tích chập:

def convolution(img, kernel): # để cơ phiên bản hoá, stride = 1, ko padding output = np.empty((img.shape-kernel.shape+1, img.shape-kernel.shape+1)) for i in range(output.shape): for j in range(output.shape): output = np.sum(img,j:j+kernel.shapevàgt; * kernel) return outputGiờ chúng ta ứng dụng vào ảnh thật nhé: chúng ta sở hữu phiên phiên bản dọc bằng Ix=I∗GxI_x=I*G_xIx​=I∗Gx​, phiên phiên bản ngang Iy=I∗GyI_y=I*G_yIy​=I∗Gy​, và phiên phiên bản toàn bộ I′=Ix2+Iy2I’=sqrt{I_x^2+I_y^2}I′=Ix2​+Iy2​​.

# đổi từ ảnh màu lịch sự đen trắngimg = plt.imread(“workdesk.jpeg”).dot()img_x = convolution(img, g_x)img_y = convolution(img, g_y)img_ = np.sqrt(img_x ** 2 + img_y ** 2)

*

Trên đây là hình ảnh bàn thao tác của tớ tại doanh nghiệp sau lúc đã bắt những cạnh dọc, những cạnh ngang, và những viền (sau lúc phối kết hợp thành quả của 2 filter trước). Nhìn khá là thú vị nhỉ?

Một trong những ví dụ về những lớp tích chập truyền thống khác bao hàm filter làm mờ ảnh (Gaussian blur, phía bên trái) và filter làm sắc nét ảnh (phía bên phải). Nếu khách hàng đã sử dụng những phầm mềm chỉnh sửa ảnh rồi thì sẽ thân thuộc gì với những filter này, đúng không nào?

*

Tích chập trong học sâu

Trong học sâu, những ma trận tích chập ko được người thiết kế mạng đưa vào ví dụ. Thay vì như thế đó, trong quy trình học, mạng sẽ tự học những lớp tích chập đó. Chúng mà thậm chí học lại được những lớp tích chập truyền thống sở hữu sẵn, và chúng cũng mà thậm chí học được những đặc trưng mà con người ko làm rõ ví dụ. Sau trên đây là hình ảnh của một trong những filter của VGG16:

*

Khá trìu tượng, đúng không nào? Trong số đó, ta mà thậm chí thấy một trong những filter máy học được tương tự như những filter truyền thống lâu đời, như là filter bắt những đường chéo cánh (ngoài cùng một phía phải hàng 2 và 3). Tuy nhiên đừng hãi, ở phần sắp cuối chúng ta sẽ lý luận một cách hiểu về kiểu cách sinh hoạt của mạng, và đồng thời cùng lúc sẽ reviews một trong những phương pháp để chúng ta cũng mà thậm chí nhìn/cảm nhận những filter như trên của một mạng tích chập ngẫu nhiên nào khác.

Tác dụng của lớp tích chập

Như đã nhắc tới ở trên, những lớp tích chập sẽ nhận ra được những đặc trưng của quy mô từ cơ phiên bản tới phức tạp dần theo độ sâu của quy mô. Càng qua những lớp, độ phức tạp càng tạo thêm: để dễ tưởng tượng, giả sử ta sở hữu 2 filter bắt được đường ngang, và 2 filter bắt được đường dọc. Sau lúc qua những lớp phối kết hợp, chúng ta sẽ sở hữu được một filter sâu bắt được một hình tứ giác. Thậm chí, với nhiều lớp hơn, ta mà thậm chí nhận ra được hình tròn trụ trong ảnh đó; vì như thế hình tròn trụ mà thậm chí được biểu diễn bằng vô số đường thẳng tiệm cận:

*

chính vì chúng ta mà thậm chí coi hình tròn trụ là một hình đa giác sở hữu ∞infty∞ cạnh. Bởi vậy, quy mô ko nên biết gì về điểm sáng tính chất của đầu vào từ ban sơ, chúng sẽ tự “học” được từ từ qua những lớp filter.

Ngoài đề ko liên quan tới tích chập: trên đây cũng là ví dụ cho thấy feature engineering quan trọng trong quy mô học máy truyền thống. Với những quy mô sâu, chúng ta mà thậm chí bắt được những đặc trưng phi tuyến tính. Tuy nhiên, nếu chúng ta thay đổi miền đầu vào bằng phương pháp sử dụng hệ toạ độ cực, bài toán tự nhiên trở thành tuyến tính (1 lớp).

Một tác dụng thú vị của lớp tích chập là để tránh số trọng số của quy mô. Lấy ví dụ tương đối phi thực tiễn: với ảnh của tập MNIST kích cỡ 28×28, với đầu ra mong muốn là 14×14 (tránh nửa). Nếu sử dụng mạng linear regression, chúng ta sẽ phải dải phẳng ảnh ra thành một vector 784 chiều, thả qua một ma trận trọng số để lấy về một vector 196 chiều, rồi sau đó sắp xếp lại thành một ảnh 14×14. Như vậy, chưa tính bias, lớp đó đã cần 784×196=153664784 imes 196=153664784×196=153664 trọng số rồi. Còn với việc sử dụng một lớp tích chập với filter 2×2 và stride 2, chúng ta mà thậm chí sở hữu cùng kích cỡ đầu ra chỉ với 4 trọng số (!)

Ngoài ra nổi trội nhất đó là, lớp tích chập trong mạng được sử dụng để tách ra những đặc trưng trong ảnh theo từng vùng nhỏ với tên thường gọi là Feature Locality. Như nghĩa đen, feature (đặc trưng) locality (định xứ/toàn bộ) tương tự như việc chúng ta cầm một chiếc kính lúp và chỉ nhìn từng vùng trong ảnh một thay vì như thế bố cục toàn ảnh. Tưởng tượng như chúng ta đang chơi Where”s Waldo vậy: tiềm năng của doanh nghiệp là tìm ra người này:

*

Trong ảnh này:

*

Thật ko tưởng đúng không nào? Săn chắc là chúng ta ko thể nhìn toàn cục rồi ngay lập tức chỉ tay bảo “Trên đây! Hắn ở trên đây!” được rồi. Thay vì như thế đó, các bạn sẽ phải zoom kỹ vào cụ thể từng vùng của ảnh để tìm xem Waldo ở đâu. Ý tưởng (cơ phiên bản) của lớp tích chập này cũng tương tự như vậy.

Ý tưởng về feature locality này cũng rất được Hinton, một trong những thân phụ để của học sâu, thử nghiệm với một loại quy mô mới tên là Capsule Network, nếu những mình thích xem thêm.

Như đã rào trước, ví dụ trên phi thực tiễn chính vì thời gian làm việc xử lý của lớp regression kia to hơn rất rất nhiều với lớp tích chập trên (hơn nhau hẳn 40 nghìn lần cơ mà). Nhưng lúc ông xã những lớp/khối tích chập lên nhau, với những tính chất feature locality và translational invariant sắp được nói ở phần dưới, mạng tích chập sẽ cho ta thành quả tốt ngang với một lớp tuyến tính to như vậy. Theo ý kiến cá thể của tớ (nếu mình sai hãy tranh luận dưới comment nhé), lý do to nhất mọi người tiêu dùng mạng tích chập đó là để tránh số tham số — điều này vừa làm cho việc tính toán trở nên khả thi, vừa làm tránh độ phức tạp của quy mô để tránh overfitting. Feature locality và translational invariance ko phải là những lý do chính vì sao họ sử dụng mạng tích chập, chúng chỉ là lý do vì sao mạng tích chập sinh hoạt thôi.

Tác dụng của lớp pooling

Tác dụng dễ nhận ra nhất của lớp pooling là làm công việc tránh kích cỡ/kênh của ảnh/đặc trưng ngầm trong mạng. Kích cỡ của ảnh sẽ được tránh xuống xuống tỉ lệ thuận với kích cỡ kernel và stride: ví dụ như ảnh 5×5 với kernel 3×3 không tồn tại padding và stride 1 sẽ sở hữu kích cỡ đầu ra là 3×3, và nếu stride 2 thì kích cỡ là 2×2. Về việc thay đổi số chiều của ảnh đầu ra, ngoài việc thay đổi số kênh đầu ra bằng số filter của lớp tích chập ra, chúng ta mà thậm chí sử dụng một loại tích chập khác tên là Depthwise Convolution mà thậm chí làm tránh số chiều của đầu vào. Về cơ phiên bản, lớp tích chập này còn có kernel kích cỡ 1×1, ko làm thay đổi kích cỡ ảnh đầu ra, mà chỉ thay đổi số kênh đầu ra mà thôi.

Xem thêm: Cách Sửa Font Chữ Bị Lỗi – Hướng Dẫn Cách Sửa Lỗi Font Chữ Trong Word

Tuy nhiên, tác dụng của lớp pooling còn hơn thế nhiều nữa: này là Translational Invariance. Ko hề nói quá lúc nhận xét rằng trên đây đó là phần tạo cho những mạng tích chập sinh hoạt tốt như vậy. Dịch nghĩa đen, translational (dịch chuyển) invariance (không thay đổi) nghĩa là quy mô ko tìm thấy thành quả không giống nhau nếu đầu vào bị dịch chuyển, ví dụ như đưa camera lịch sự trái hoặc phải một chút. Chúng ta mà thậm chí hiểu tính chất này như sau: sau lúc lớp tích chập đã bắt được những đặc trưng tốt nhất, lớp pooling sẽ gom chúng lại vào một trong những khối — nhờ đó, việc đặc trưng đó nằm tại đâu không hề quan trọng nữa. Ví dụ: ta sở hữu một filter bắt được rằng loại ảnh có một con chó đang nằm đâu đó trong ảnh, nơi con chó nằm sẽ sở hữu toàn giá trị 1 và những chỗ khác sở hữu giá trị 0. Sau pooling toàn ảnh, ta sẽ chỉ với 1 giá trị: giá trị đó sẽ là 1 trong nếu trong ảnh sở hữu con chó, và 0 nếu ngược lại. Vi vậy, việc con chó nằm tại đâu ko tác động tới đầu ra của quy mô.

Về Viettingame.com

Viettingame.com - Chuyên trang web tổng hợp những thông tin hữu ích trên internet như thông tin về game, tin tổng hợp
Xem tất cả các bài viết của Viettingame.com →

Trả lời

Email của bạn sẽ không được hiển thị công khai.