[NHẠC]
Câu hỏi ở đây là chúng ta có thể cải thiện
mô hình sử dụng các tính năng sâu hay không.
Nhớ rằng chúng ta đã nói về các tính năng sâu.
Chúng ta đã khám phá trong bài học về học sâu này cách
các tính năng sâu sử dụng kỹ thuật học chuyển đổi có thể được huấn luyện trên một miền như thế nào,
sau đó áp dụng trong miền khác để tìm hiểu
một dữ liệu nhỏ đã được dán nhãn.
Trong trường hợp này hãy nhìn vào độ dài của dữ liệu huấn luyện,
hãy hiểu chúng ta có 2,000 hình ảnh vì thế
đây là tập dữ liệu khá nhỏ.
Và chúng ta tiếp tục xem chúng ta có thể
huấn luyện 20,000 hình ảnh sử dụng một số các tính năng sâu.
Đây là bước bạn thực hiện.
Chúng ta sẽ tải deep_learning_model
cái mà đã được đào tạo lại và
ở đây bạn có thể sử dụng graphlab.load_model để tải mô hình.
Và có một mô hình mà sẽ truyền trên dữ liệu imagenet.
Nó ở đây.
Nó được gọi là imagenet_model.
Mô hình này truyền 1,5 triệu hình ảnh,
một nghìn các danh mục khác, một tập dữ liệu khác,
1,5 triệu hình ảnh, nó là cái mà chúng ta đã thảo luận, mô hình AlexNet.
Nó đứng thứ hai trong cuộc thi Image Net 2012, vì thế
tôi đã huấn luyện lại một mô hình và sau đó bạn có thể sử dụng mô hình để tạo ra
trong hình ảnh của chúng ta một cột mới gọi là
deep_features.
Trong cột mới deep_features mà chúng ta sẽ làm là
lấy deep_learning_model mà chúng ta đã tải.
Deep_learning_model.
Và tôi sẽ áp dụng một chức năng được gọi là extract_features và
cái mà extract_features làm là trích xuất các tính năng sâu.
Nó thực hiện học chuyển đổi, dùng các tính năng của một miền và
áp dụng một tập dữ liệu trong miền khác.
Tập dữ liệu này là dữ liệu huấn luyện hình ảnh của tôi.
Đây là hai miền mà bạn phải làm.
Khá đơn giản.
Để tôi giảm kích cỡ phông để nó dễ nhìn hơn.
Hai miền mà bạn phải làm để thực hiện nghiên cứu chuyền.
Lấy hình ảnh trên mạng và
áp dụng nó vào 10 tập dữ liệu safari.
Bây giờ tính toán các tính năng sâu mất vài phút và
tôi sẽ làm điều này ngay bây giờ.
Thay vào đó tôi sẽ nói với bạn mô hình sâu của chúng ta.
Nếu tôi cho bạn thấy dữ liệu image_train.
Cái tôi đã làm là nếu tôi cho bạn thấy đầu đề, một số dòng đầu.
Cái mà bạn sẽ thấy là chúng ta có một id hình ảnh, chúng ta có một hình ảnh cái mà
chúng ta sẽ nhìn thấy, bạn có nhãn mác và bạn có một cột cho các tính năng sâu.
Tôi đã tính toán lại và tôi đã lưu nó trong sframe.
Nó đã được lưu và tính lại rồi.
Và nó cũng có cột nữa image_array cái mà có các điểm ảnh thô mà chúng ta đã sử dụng để
huấn luyện mô hình điểm ảnh thô.
deep_features có ở đây rồi.
Nhưng nếu bạn chạy cả hai, bạn sẽ tính tự tính toán chúng trong dữ liệu này
hoặc trong bất kì tập dữ liệu nào mà bạn muốn.
Hãy cùng thực hiện và
Bây giờ chúng ta có các tính năng sâu,
hãy huấn luyện một mô hình sâu.
Given the deep features,
let's train a classifier.
Bây giờ chúng ta sẽ huấn luyện một bộ phân loại đơn giản sử dụng các tính năng sâu.
Tôi sẽ dùng deep_features_model thay vì mô hình điểm ảnh thô.
Và deep_features_model cũng sẽ sử dụng quy hồi logic.
.create và nếu bạn nhố từ bài học, chúng ta đã thảo luận cái bạn có thể lấy
các tính năng sâu và đưa vào một bộ phân loại đơn giản ở cuối trong trường hợp này, vì thế
chỉ cần đưa vào quy hồi logic.
Như là đầu vào tôi sẽ đưa vào vào image_train_data.
Và các tính năng
thay vì sử dụng điểm ảnh thô,
tôi sẽ sử dụng deep_features.
Cuối cùng tôi sẽ nói nhãn mác, xin lỗi, mục tiêu,
cái mà tôi đang cố dự đoán ở đây, nó được đưa ra bởi cột nhãn mác.
Và đây bạn có.
Bây giờ chúng ta học về một bộ phân loại và nó ở đây,
sử dụng trên 2,000 hình ảnh,
sử dụng các tính năng đã được hoàn thành trong mạng này,
cái mà tham gia cuộc thi năm 2012.
Bây giờ hãy tìm hiểu mô hình đầu tiên, chỉ cần áp dụng nó với một số dữ liệu.
Tôi sẽ làm, chúng ta sẽ
áp dụng mô hình các tính năng sâu
với các hình ảnh đâu tiên của tập kiểm tra.
Giống như chúng ta đã làm với mô hình điểm ảnh thô, chúng ta sẽ áp dụng nó trong trường hợp này.
Nhớ rằng chúng ta đã lấy dữ liệu image_test và chúng ta đã xem ba hình ảnh đầu tiên.
0,1 và 2.
Đây là cái mà các hình ảnh biểu thị.
Và tôi sẽ nhập .show và
nhắc bạn về cái chúng ta có là một con mèo, một ô tô và một con mèo nữa.
Hãy tiếp tục và thực hiện điều này để xem cái chúng ta dự đoán.
Tôi sẽ lấy deep_feature_model của tôi,
tôi sẽ dự đoán trên ba hình ảnh này,
image_test của 0:3.
Hãy ghi nhớ mèo, o tô.
Mèo là mèo, ô tô, mèo.
Về cơ bản nó có ba thứ chính xác.
Điều này thật thú vị.
Cái gì đó đã làm rất tệ sử dụng các điểm ảnh thô.
Cũng như sử dụng các tính năng sâu, trên ba điểm này nó rất chính xác.
Nhưng hãy đánh giá mô hình sâu một cách chính thức hơn.
Chúng ta sẽ làm tiếp theo là tính toán
độ chính xác test_data của
deep_features_model.
Và chúng ta có ở đây.
Chúng ta sẽ làm điều đó như thế nào?
Chúng ta sẽ thực hiện deep_features_model.evaluate
giống như chúng ta đã làm với mô hình điểm ảnh thô.
Ở đây chúng ta có thể làm .evaluate.
Như đâu vào chúng ta sẽ đưa vào dữ liệu thử nghiệm.
image_test.
Nhớ rằng mô hình điểm ảnh thô có 46% tính chính xác.
Nó rất kém.
Bằng việc sử dụng các tính năng sâu chúng ta có 78% độ chính xác, điều này khá tốt.
Nó gần với lĩnh vực nghệ thuật.
Thậm chí nếu bạn đang học nhiều về dữ liệu nó khá tốt so với 46%.
Các tính năng sâu cung cấp cho bạn công cụ tuyệt với để
lấy dữ liệu nhỏ, chạy các tính năng sâu và
có tính chính xác khá cao làm nhiệm vụ phân loại hình ảnh ở đây.
[NHẠC]