Fully Connected Layer Là Gì

 - 

Trong mạng nơ-ron, mạng nơ-ron tích chập (ConvNets xuất xắc CNNs, Convolutional Neural Network) là một trong những trong những phương pháp chính để triển khai nhận mẫu mã ảnh, phân mô hình ảnh. CNN được sử dụng rộng rãi trong một số lĩnh vực như phát hiện nay đối tượng, dấn dạng khuôn mặt, ..... Nội dung bài viết này trình bày một vài kiến thức cơ bạn dạng đã tự tò mò về mạng nơ-ron tích chập và những kiến thức liên quan cũng như trình bày một ví dụ nhỏ dại về riêng biệt hình hình ảnh của chó cùng mèo bằng cách sử dụng phương thức trên.

Bạn đang xem: Fully connected layer là gì

Bạn đã xem: Fully connected layer là gìBạn đã xem: Fully connected layer là gì


Nội dung chủ yếu Show
Tìm phát âm về CNN

Mô hình neural network

Mạng nơ-ron nhân tạo (Neural Network - NN) là một mô hình lập trình mô phỏng giải pháp thức hoạt động vui chơi của mạng nơ-ron thần kinh. Kết hợp với các kĩ thuật học sâu (Deep Learning - DL), mạng nơ-ron nhân tạo đang thay đổi một cơ chế rất trẻ khỏe mang lại hiệu quả tốt nhất mang đến nhiều việc khó như dấn dạng ảnh, giọng nói hay xử lý ngôn từ tự nhiên.

Lịch sử cải cách và phát triển của mạng nơ-ron nhân tạo bắt đầu khi Warren McCulloch với Walter Pitts đã tạo ra một mô hình đo lường và tính toán cho mạng nơ-ron dựa trên những thuật toán điện thoại tư vấn là logic ngưỡng vào năm 1943. Mặc dù nhiên, để làm quen cùng hiểu được một vài kiến thức cơ phiên bản về mô hình mạng nơ-ron nhân tạp, bọn họ sẽ bàn mang lại hồi quy logictics - thứ hoàn toàn có thể coi là mô hình neural network dễ dàng nhất cùng với chỉ input layer cùng output layer.

Giả sử chúng ta có việc dựa đoán kĩ năng nhận đơn ship hàng dựa trên khoảng cách và thời khắc cần giao trong ngày dựa trên dữ liệu đã đến trước. Từ kia ta rất có thể hiểu rằng với các bộ dữ liệu x, y mang đến sẵn cùng với x bao gồm hai đặc trưng x1x_1x1​ cùng x2x_2x2​ theo thứ tự là khoảng cách và thời điểm cần giao vào ngày, chúng ta sẽ thực hiện các phương pháp để kiếm được ước lượng y^=f(w,x)widehaty = f(w, x)y​=f(w,x) làm sao để cho sát với cái giá trị y nhất.

Thông thường, họ thường thực hiện hàm f(w,x)=wTxf(w, x) = w^Txf(w,x)=wTx để dễ tính toán, mặc dù đầu ra y là xác suất giao dịch có được nhận hay là không nên để đầu ra thỏa mãn nhu cầu được đk có dạng giống như xác suất tức là luôn có mức giá trị trong vòng từ 0 đến 1 chúng ta thường sử dụng hàm logictics θ(z)=11+ez heta(z) = frac11+e^-zθ(z)=1+ez1​ với z=f(w,x)z = f(w, x)z=f(w,x) thường được gọi là hàm sigmod làm cho hàm activation.

Khi đó, hàm lỗi của một cho mỗi điểm x(i),y(i)x^(i), y^(i)x(i),y(i) được khái niệm là cross-entropy của y(i)y^(i)y(i) với y^(i)widehaty^(i)y​(i) như sau:

L=(y(i)log(y^(i))(1y(i))log(1y^(i)))L = -(y^(i) * log(widehaty^(i)) - (1 - y^(i)) * log(1 - widehaty^(i)) )L=(y(i)log(y​(i))(1y(i))log(1y​(i)))

Khi đó hàm này trên tổng thể dữ liệu được tính bằng cách lấy tổng những giá trị trên. Bằng cách tối ưu hàm mất non này, hay bằng phương thức đạo hàm gradient, bạn cũng có thể có thể thu được mô hình phù hợp nhất cho bài toán cũng giống như bộ tài liệu đã cho. Mặc dù nhiên, dù nỗ lực nhưng hầu như giá trị ước lượng từ hàm bên trên vẫn có một số chênh lệch với giá trị thực tế, thế cho nên để bảo đảm an toàn cho tính khách hàng quan, người ta hay thêm một cực hiếm b xuất xắc w0w_0w0​ vào để tính bằng phương pháp sử dụng f(w,x)=wTx+w0f(w, x) = w^Tx + w_0f(w,x)=wTx+w0​ giá trị này là cực hiếm bias có thể hiểu là phần bù cho đều chênh lệch khó/không thể rất tiểu từ cách trên.

Thông thường công việc tính toán của một quy mô mạng nơ-ron tự tạo thường được thể hiện bằng một biểu đồ tính toán để rất có thể quan gần kề trực quan tiền hơn. Dưới đó là một biểu đồ thể hiện cho việc phân loại dựa trên hồi quy logictics.


*

Hình hình ảnh từ website https://sebastianraschka.com/faq/docs/logisticregr-neuralnet.html

Convolutional Neural Network

Như trình bày ở trên, Convolutional Neural Network là 1 trong những trong những phương thức chính khi sử dụng tài liệu về ảnh. Kiến trúc mạng này mở ra do các phương thức xử lý dữ liệu hình ảnh thường thực hiện giá trị của từng pixel. Vậy nên với một ảnh có giá trị size 100x100 sử dụng kênh RGB ta có tổng số ta tất cả 100 * 100 * 3 bởi 30000 nút nghỉ ngơi lớp đầu vào. Điều kia kéo theo câu hỏi có một số trong những lượng béo weight và bias dẫn đến mạng nơ-ron trở phải quá thứ sộ, gây khó khăn cho câu hỏi tính toán. Hơn nữa, chúng ta có thể thấy rằng thông tin của các pixel thường chỉ chịu ảnh hưởng tác động bởi các pixel ngay gần cạnh nó, vậy cho nên việc bỏ qua một số nút trên tầng đầu vào trong những lần huấn luyện sẽ không còn làm giảm độ chính xác của tế bào hình. Vậy nên tín đồ ta sử dụng cửa số tích chập nhằm xử lý vấn đề con số tham số to mà vẫn trích xuất được đặc trưng của ảnh.

Convolution Layer

Quá trình trượt các bộ lọc thường có những giá trị được vẻ ngoài bao gồm:

padding: phép tắc bộ đệm của bộ lọc hay đó là phần màu sắc xám được tiếp tế ảnhstride: qui định bước dancing trong quá trình thực hiện.

Hình minh họa sau đã giúp họ dễ tưởng tượng hơn về quá trình trên:


*

Với từng kernel khác biệt ta vẫn học được mọi đặc trưng khác nhau của ảnh, nên trong những convolutional layer ta đang dùng những kernel nhằm học được nhiều thuộc tính của ảnh. Vì chưng mỗi kernel đã tạo ra output là một matrix đề xuất k kernel sẽ tạo ra k output matrix. Ta kết hợp k output matrix đó lại thành 1 tensor 3 chiều có chiều sâu k. Output của convolutional layer đang qua hàm activation function trước lúc trở thành đầu vào của convolutional layer tiếp theo.

Pooling layer

Pooling layer thường được dùng giữa các convolutional layer, nhằm giảm size dữ liệu mà lại vẫn duy trì được những thuộc tính quan tiền trọng. Size dữ liệu bớt giúp sút việc giám sát và đo lường trong model. Trong quy trình này, luật lệ về stride cùng padding vận dụng như phép tính convolution trên ảnh.


*

*

Phân loại ảnh

Bài toán phân loại ảnh chó với mèo nghe dường như đơn giản, tuy thế nó chỉ được giải quyết tác dụng trong vài năm qua bằng phương pháp sử dụng mạng nơ-ron tích phù hợp học sâu. Bởi các thực hiện ví dụ này, bọn họ sẽ phát âm thêm được về Convolutional Neural Network kề bên những kim chỉ nan đã trình diễn trên.

Dữ liệu

Dữ liệu được thực hiện là tập tài liệu Dogs vs. Cats bên trên Kaggle. Tập dữ liệu này bao hàm gần 25000 tập ảnh chó cùng mèo đã được gán nhãn sẵn trong một tệp csv đi kèm. Phần dữ liệu này sẽ tiến hành sử dụng trong lấy ví dụ này.

Các cách tiến hành

Đầu tiên chúng ta import những thư viện bởi đoạn mã sau:

import os, cv2, itertoolsimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inline!pip install np_utilsfrom keras.utils.np_utils import to_categoricalfrom keras.models import Sequentialfrom keras.layers import Conv2Dfrom keras.layers import MaxPooling2Dfrom keras.layers import Flattenfrom keras.layers import Densefrom keras.layers import Dropoutfrom sklearn.utils import shuffle!pip install sklearnimport sklearnfrom sklearn.model_selection import train_test_splitTiếp sẽ là định nghĩa một trong những hằng số để dễ ợt sử dungj:

TRAIN_DIR = "./train/"TEST_DIR = "./test1/"ROWS = 64COLS = 64CHANNELS = 3Từ đó bọn họ lấy đường dẫn tài liệu bằng đoạn mã sau:

train_images = test_images = dữ liệu là tập các hình ảnh nên yêu cầu tiền xử trí để thu được công dụng tốt hơn, vậy nên bọn họ sẽ triển khai như sau:

def read_image(file_path): #print(file_path) img = cv2.imread(file_path, cv2.IMREAD_COLOR) #print(img) return cv2.resize(img, (ROWS, COLS), interpolation=cv2.INTER_CUBIC) def prep_data(images): m = len(images) n_x = ROWS*COLS*CHANNELS X = np.ndarray((m,ROWS,COLS,CHANNELS), dtype=np.uint8) y = np.zeros((m,1)) print("X.shape is ".format(X.shape)) for i,image_file in enumerate(images) : image = read_image(image_file) X = np.squeeze(image.reshape((ROWS, COLS, CHANNELS))) if "dog" in image_file.lower() : y = 1 elif "cat" in image_file.lower() : y = 0 else : # for chạy thử data y = image_file.split("/").split(".") if i%5000 == 0 : print("Proceed of ".format(i, m)) return X,y X_train, y_train = prep_data(train_images)X_test, test_idx = prep_data(test_images)Sau khi nhận giá tốt trị đang xử lý, họ tiến hành phân thành hai tập train với validate và chế tạo ra one-hot vector

model = Sequential()model.add(Conv2D(32, (3,3), input_shape=(ROWS, COLS, CHANNELS), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Conv2D(64, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(128, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(256, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(512, (1,1), activation="relu"))#model.add(MaxPooling2D(pool_size = (2,2)))model.add(Flatten())model.add(Dropout(0.4))model.add(Dense(units=120, activation="relu"))model.add(Dense(units=2, activation="sigmoid"))model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=)model.summary()Tiếp theo là đào tạo mô hình bằng phương pháp sử dụng hàm fit gồm sawnx:

model.fit(X_train_norm, y_train_one_hot, validation_data=(X_val_norm, y_val_one_hot), epochs=50, batch_size = 64)Sau khi huấn luyện và giảng dạy xong, chúng ta cũng có thể thử predict bằng mô hình vừa đào tạo và giảng dạy bằng đoạn mã sau:

Kết luận

Bài viết này trình bày một số trong những kiến thức cơ phiên bản đã tự khám phá về mạng nơ-ron tích chập và các kiến thức liên quan tương tự như trình bày một ví dụ bé dại về riêng biệt hình hình ảnh của chó với mèo bằng cách sử dụng phương pháp trên. Có thể thấy rằng các framework Machine learning đang hỗ trợ cực tốt trong việc sử dụng các mô hình dựa trên các mạng nơ-ron nhân tạo để người dùng hoàn toàn có thể không cần làm rõ về các mạng nơ-ron cũng rất có thể sử dụng. Tuy vậy để có tác dụng tự review và cách tân các cách thức của phiên bản thân, người dùng vẫn cần khám phá kĩ về bản chất và cách hoạt động của các phương thức này. Nội dung bài viết đến trên đây là dứt cảm ơn mọi người đã giành thời hạn đọc.

Xem thêm: Chọn Ngành Nghề Phù Hợp Cho Mệnh Thủy Hợp Nghề Gì? Hề Gì? Người Mệnh Thủy Hợp Nghề Gì


Trong mạng nơ-ron, mạng nơ-ron tích chập (ConvNets tuyệt CNNs, Convolutional Neural Network) là một trong những trong những cách thức chính để thực hiện nhận bản thiết kế ảnh, phân loại hình ảnh. CNN được sử dụng thoáng rộng trong một số nghành nghề dịch vụ như phát hiện đối tượng, dấn dạng khuôn mặt, ..... Nội dung bài viết này trình bày một số kiến thức cơ phiên bản đã tự tò mò về mạng nơ-ron tích chập và các kiến thức liên quan tương tự như trình bày một ví dụ nhỏ về rành mạch hình hình ảnh của chó và mèo bằng phương pháp sử dụng phương thức trên.Bạn đã xem: Fully connected layer là gìBạn sẽ xem: Fully connected layer là gì

Tìm đọc về CNN

Mô hình neural network

Mạng nơ-ron nhân tạo (Neural Network - NN) là một mô hình lập trình mô phỏng phương pháp thức hoạt động của mạng nơ-ron thần kinh. Kết phù hợp với các kĩ thuật học tập sâu (Deep Learning - DL), mạng nơ-ron nhân tạo đang trở nên một chính sách rất khỏe mạnh mang lại công dụng tốt nhất cho nhiều câu hỏi khó như dìm dạng ảnh, tiếng nói hay xử lý ngữ điệu tự nhiên.

Lịch sử cách tân và phát triển của mạng nơ-ron nhân tạo ban đầu khi Warren McCulloch và Walter Pitts đã tạo thành một tế bào hình tính toán cho mạng nơ-ron dựa trên những thuật toán hotline là xúc tích ngưỡng vào năm 1943. Tuy nhiên, để làm quen với hiểu được một số kiến thức cơ bạn dạng về mô hình mạng nơ-ron nhân tạp, chúng ta sẽ bàn mang đến hồi quy logictics - thứ rất có thể coi là mô hình neural network đơn giản nhất cùng với chỉ input layer cùng output layer.

Giả sử chúng ta có vấn đề dựa đoán kĩ năng nhận đơn ship hàng dựa trên khoảng cách và thời gian cần giao trong ngày dựa trên dữ liệu đã mang đến trước. Từ đó ta rất có thể hiểu rằng với những bộ tài liệu x, y mang lại sẵn với x gồm hai đặc thù x1x_1x1​ với x2x_2x2​ thứu tự là khoảng cách và thời điểm cần giao vào ngày, họ sẽ áp dụng các cách thức để tìm kiếm được ước lượng y^=f(w,x)widehaty = f(w, x)y​=f(w,x) làm sao để cho sát với cái giá trị y nhất.

Thông thường, họ thường áp dụng hàm f(w,x)=wTxf(w, x) = w^Txf(w,x)=wTx để dễ tính toán, tuy vậy đầu ra y là xác suất giao dịch có được nhận hay là không nên nhằm đầu ra thỏa mãn được điều kiện có dạng tương tự xác suất tức là luôn có giá trị trong tầm từ 0 đến 1 chúng ta thường áp dụng hàm logictics θ(z)=11+ez heta(z) = frac11+e^-zθ(z)=1+ez1​ cùng với z=f(w,x)z = f(w, x)z=f(w,x) hay được call là hàm sigmod làm cho hàm activation.

Khi đó, hàm lỗi của một cho từng điểm x(i),y(i)x^(i), y^(i)x(i),y(i) được tư tưởng là cross-entropy của y(i)y^(i)y(i) và y^(i)widehaty^(i)y​(i) như sau:

L=(y(i)log(y^(i))(1y(i))log(1y^(i)))L = -(y^(i) * log(widehaty^(i)) - (1 - y^(i)) * log(1 - widehaty^(i)) )L=(y(i)log(y​(i))(1y(i))log(1y​(i)))

Khi đó hàm này trên toàn cục dữ liệu được tính bằng phương pháp lấy tổng những giá trị trên. Bằng phương pháp tối ưu hàm mất non này, thường xuyên bằng phương thức đạo hàm gradient, bạn có thể có thể thu được mô hình tương xứng nhất cho bài xích toán cũng tương tự bộ dữ liệu đã cho. Mặc dù nhiên, dù cố gắng nhưng hầu hết giá trị ước lượng từ hàm bên trên vẫn có một số trong những chênh lệch với cái giá trị thực tế, thế cho nên để đảm bảo an toàn cho tính khách hàng quan, người ta thường xuyên thêm một quý hiếm b hay w0w_0w0​ vào để tính bằng phương pháp sử dụng f(w,x)=wTx+w0f(w, x) = w^Tx + w_0f(w,x)=wTx+w0​ giá trị này là quý giá bias có thể hiểu là phần bù cho các chênh lệch khó/không thể rất tiểu từ cách trên.

Thông thường quá trình tính toán của một quy mô mạng nơ-ron tự tạo thường được thể hiện bằng một biểu đồ đo lường để có thể quan sát trực quan hơn. Dưới đó là một biểu đồ bộc lộ cho việc phân loại dựa trên hồi quy logictics.


*

Hình hình ảnh từ trang web https://sebastianraschka.com/faq/docs/logisticregr-neuralnet.html

Convolutional Neural Network

Như trình diễn ở trên, Convolutional Neural Network là 1 trong những phương thức chính khi sử dụng dữ liệu về ảnh. Phong cách xây dựng mạng này xuất hiện thêm do các phương pháp xử lý dữ liệu ảnh thường thực hiện giá trị của từng pixel. Vậy bắt buộc với một ảnh có giá chỉ trị size 100x100 thực hiện kênh RGB ta có tổng cộng ta bao gồm 100 * 100 * 3 bằng 30000 nút nghỉ ngơi lớp đầu vào. Điều đó kéo theo vấn đề có một vài lượng to weight với bias dẫn mang lại mạng nơ-ron trở buộc phải quá đồ sộ, gây trở ngại cho việc tính toán. Rộng nữa, bạn cũng có thể thấy rằng thông tin của các pixel thường chỉ chịu tác động bởi các pixel ngay gần nó, vậy cho nên việc bỏ qua một trong những nút ở tầng đầu vào trong những lần huấn luyện sẽ không còn làm sút độ đúng chuẩn của mô hình. Vậy nên người ta thực hiện cửa số tích chập nhằm giải quyết và xử lý vấn đề số lượng tham số mập mà vẫn trích xuất được đặc thù của ảnh.

Convolution Layer

Quá trình trượt các bộ lọc thường có những giá trị được qui định bao gồm:

padding: giải pháp bộ đệm của bộ lọc hay chính là phần màu sắc xám được sản xuất ảnhstride: vẻ ngoài bước nhảy đầm trong quá trình thực hiện.

Hình minh họa sau đang giúp bọn họ dễ tưởng tượng hơn về quá trình trên:


Với từng kernel không giống nhau ta đang học được đầy đủ đặc trưng khác biệt của ảnh, nên trong những convolutional layer ta đang dùng các kernel nhằm học được không ít thuộc tính của ảnh. Vì chưng mỗi kernel đã tạo ra output là một trong matrix buộc phải k kernel sẽ đã cho ra k output matrix. Ta phối hợp k đầu ra matrix này lại thành 1 tensor 3 chiều có chiều sâu k. Output đầu ra của convolutional layer sẽ qua hàm activation function trước khi trở thành input của convolutional layer tiếp theo.

Pooling layer

Pooling layer thường được dùng giữa các convolutional layer, nhằm giảm size dữ liệu cơ mà vẫn giữ lại được các thuộc tính quan trọng. Size dữ liệu sút giúp bớt việc đo lường và thống kê trong model. Trong quy trình này, phép tắc về stride với padding áp dụng như phép tính convolution trên ảnh.


Phân một số loại ảnh

Bài toán phân loại ảnh chó với mèo nghe có vẻ đơn giản, tuy thế nó chỉ được giải quyết công dụng trong vài năm qua bằng phương pháp sử dụng mạng nơ-ron tích thích hợp học sâu. Bởi các triển khai ví dụ này, họ sẽ đọc thêm được về Convolutional Neural Network ở bên cạnh những triết lý đã trình diễn trên.

Dữ liệu

Dữ liệu được thực hiện là tập dữ liệu Dogs vs. Cats trên Kaggle. Tập dữ liệu này bao gồm gần 25000 tập hình ảnh chó cùng mèo đã được gán nhãn sẵn trong một tệp csv đi kèm. Phần tài liệu này sẽ được sử dụng trong lấy ví dụ như này.

Xem thêm: Đâu Là Sự Khác Biệt Giữa Đầu Cơ Chứng Khoán Là Gì, Đầu Cơ Là Gì

Các bước tiến hành

Đầu tiên chúng ta import những thư viện bởi đoạn mã sau:

import os, cv2, itertoolsimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inline!pip install np_utilsfrom keras.utils.np_utils import to_categoricalfrom keras.models import Sequentialfrom keras.layers import Conv2Dfrom keras.layers import MaxPooling2Dfrom keras.layers import Flattenfrom keras.layers import Densefrom keras.layers import Dropoutfrom sklearn.utils import shuffle!pip install sklearnimport sklearnfrom sklearn.model_selection import train_test_splitTiếp chính là định nghĩa một số hằng số để thuận tiện sử dungj:

TRAIN_DIR = "./train/"TEST_DIR = "./test1/"ROWS = 64COLS = 64CHANNELS = 3Từ đó chúng ta lấy đường dẫn dữ liệu bằng đoạn mã sau:

train_images = test_images = dữ liệu là tập các hình ảnh nên yêu cầu tiền giải pháp xử lý để thu được tác dụng tốt hơn, vậy nên bọn họ sẽ thực hiện như sau:

def read_image(file_path): #print(file_path) img = cv2.imread(file_path, cv2.IMREAD_COLOR) #print(img) return cv2.resize(img, (ROWS, COLS), interpolation=cv2.INTER_CUBIC) def prep_data(images): m = len(images) n_x = ROWS*COLS*CHANNELS X = np.ndarray((m,ROWS,COLS,CHANNELS), dtype=np.uint8) y = np.zeros((m,1)) print("X.shape is ".format(X.shape)) for i,image_file in enumerate(images) : image = read_image(image_file) X = np.squeeze(image.reshape((ROWS, COLS, CHANNELS))) if "dog" in image_file.lower() : y = 1 elif "cat" in image_file.lower() : y = 0 else : # for demo data y = image_file.split("/").split(".") if i%5000 == 0 : print("Proceed of ".format(i, m)) return X,y X_train, y_train = prep_data(train_images)X_test, test_idx = prep_data(test_images)Sau lúc nhận giá tốt trị vẫn xử lý, chúng ta tiến hành chia thành hai tập train với validate và tạo ra one-hot vector

model = Sequential()model.add(Conv2D(32, (3,3), input_shape=(ROWS, COLS, CHANNELS), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Conv2D(64, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(128, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(256, (3,3), activation="relu"))model.add(MaxPooling2D(pool_size = (2,2)))model.add(Dropout(0.4))model.add(Conv2D(512, (1,1), activation="relu"))#model.add(MaxPooling2D(pool_size = (2,2)))model.add(Flatten())model.add(Dropout(0.4))model.add(Dense(units=120, activation="relu"))model.add(Dense(units=2, activation="sigmoid"))model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=)model.summary()Tiếp theo là đào tạo mô hình bằng cách sử dụng hàm fit tất cả sawnx:

model.fit(X_train_norm, y_train_one_hot, validation_data=(X_val_norm, y_val_one_hot), epochs=50, batch_size = 64)Sau khi huấn luyện và giảng dạy xong, bạn có thể thử predict bằng quy mô vừa huấn luyện bằng đoạn mã sau:

Kết luận

Bài viết này trình bày một trong những kiến thức cơ bản đã tự mày mò về mạng nơ-ron tích chập và những kiến thức liên quan cũng như trình bày một ví dụ bé dại về minh bạch hình hình ảnh của chó cùng mèo bằng phương pháp sử dụng phương pháp trên. Hoàn toàn có thể thấy rằng những framework Machine learning đã hỗ trợ cực tốt trong việc áp dụng các mô hình dựa trên các mạng nơ-ron nhân tạo để tín đồ dùng có thể không cần hiểu rõ về những mạng nơ-ron cũng có thể sử dụng. Mặc dù để có công dụng tự review và cải tiến các cách thức của bản thân, người dùng vẫn cần tìm hiểu kĩ về thực chất và cách hoạt động vui chơi của các phương pháp này. Nội dung bài viết đến đây là xong xuôi cảm ơn mọi tín đồ đã giành thời hạn đọc.