Tải dữ liệu
Giải nén và tải các hình ảnh mới dưới dạng kho dữ liệu hình ảnh. imageDatastoretự động gắn nhãn các hình ảnh dựa trên tên thư mục và lưu trữ dữ liệu dưới dạng
một ImageDatastore đối tượng. Kho dữ liệu hình ảnh cho phép bạn lưu trữ dữ liệu hình ảnh lớn, bao gồm dữ liệu không vừa trong bộ nhớ và đọc hiệu quả các lô hình ảnh trong quá trình đào tạo mạng nơ-ron phức hợp.
Chia dữ liệu thành các tập dữ liệu đào tạo và xác nhận. Sử dụng 70% hình ảnh để đào tạo và 30% để xác nhận. splitEachLabelchia imageskho dữ liệu thành hai kho dữ liệu mới.
Tập dữ liệu rất nhỏ này hiện chứa 55 hình ảnh đào tạo và 20 hình ảnh xác nhận. Hiển thị một số hình ảnh mẫu.
Tải mạng định sẵn
Tải mạng nơ-ron AlexNet được đào tạo trước. Nếu Mô hình Deep Learning
Toolbox choMạng AlexNet chưa được cài đặt, thì phần mềm sẽ cung cấp một liên kết tải xuống. AlexNet được đào tạo về hơn một triệu hình ảnh và có thể phân loại hình ảnh thành 1000 loại đối tượng, chẳng hạn như bàn phím, chuột, bút chì và nhiều động
vật. Kết quả là, mô hình đã học được các đại diện tính năng phong phú cho nhiều loại hình ảnh.
Sử dụng analyzeNetworkđể hiển thị trực quan tương tác về kiến trúc mạng và thông tin chi tiết về các lớp mạng.
Lớp đầu tiên, lớp đầu vào hình ảnh, yêu cầu hình ảnh đầu vào có kích thước 227-x 227-x 3, trong đó 3 là số kênh màu.
inputSize = 1 × 3
227 227 3
Ba lớp cuối cùng của mạng netđược đào tạo trước được cấu hình cho 1000 lớp. Ba lớp này phải được tinh chỉnh cho vấn đề phân loại mới. Trích xuất tất cả các lớp, ngoại trừ ba lớp cuối cùng, từ mạng được đào tạo trước.
Chuyển các lớp sang nhiệm vụ phân loại mới bằng cách thay thế ba lớp cuối cùng bằng một lớp được kết nối đầy đủ, một lớp softmax và một lớp đầu ra phân loại. Chỉ định các tùy chọn của lớp được kết nối đầy đủ mới theo dữ liệu mới. Đặt lớp được kết nối đầy đủ có cùng kích thước với số lớp trong dữ liệu mới. Để học nhanh hơn trong các lớp mới so với các lớp đã chuyển, hãy tăng các giá
trị WeightLearnRateFactorvà BiasLearnRateFactorgiá trị của lớp được kết nối đầy đủ.
numClasses = 5
tăng cường bổ sung để thực hiện trên các hình ảnh đào tạo: lật ngẫu nhiên các hình ảnh đào tạo dọc theo trục tung và dịch ngẫu nhiên chúng lên đến 30 pixel theo chiều ngang và chiều dọc. Tăng cường dữ liệu giúp ngăn mạng trang bị quá mức và ghi nhớ các chi tiết chính xác của hình ảnh đào tạo.
Để tự động thay đổi kích thước hình ảnh xác thực mà không cần thực hiện thêm dữ liệu, hãy sử dụng kho dữ liệu hình ảnh tăng cường mà không chỉ định bất kỳ hoạt động tiền xử lý bổ sung nào.
Chỉ định các tùy chọn đào tạo. Đối với việc học chuyển giao, hãy giữ nguyên các tính năng từ các lớp đầu tiên của mạng được đào tạo trước (trọng số của lớp được chuyển). Để làm chậm việc học trong các lớp đã chuyển, hãy đặt tốc độ học ban đầu thành một giá trị nhỏ. Trong bước trước, bạn đã tăng hệ số tốc độ học cho lớp được kết nối đầy đủ để tăng tốc độ học trong các lớp cuối cùng mới. Sự kết hợp giữa cài đặt tốc độ học tập này dẫn đến việc học nhanh chỉ ở các lớp mới và học chậm hơn ở các lớp khác. Khi thực hiện học chuyển tiếp, bạn không cần phải đào tạo trong nhiều kỷ nguyên. Kỷ nguyên là một chu kỳ đào tạo đầy đủ trên toàn bộ tập dữ liệu đào tạo. Chỉ định kích thước lô nhỏ và dữ liệu xác thực. Phần mềm xác nhận mạng
mỗi ValidationFrequencylần lặp lại trong quá trình đào tạo.
Huấn luyện mạng bao gồm các lớp đã chuyển và lớp mới. Theo mặc định ,
TrainNetwork sử dụng GPU nếu có sẵn, nếu không, nó sử dụng CPU. Đào tạo về GPU yêu cầu Hộp công cụ tính toán song song và thiết bị GPU được hỗ trợ. Bạn cũng có thể chỉ định môi trường thực thi bằng cách sử dụng 'ExecutionEnvironment' đối số cặp tên-giá trị của trainingOptions.
Phân loại hình ảnh xác thực
Phân loại các hình ảnh xác nhận bằng cách sử dụng mạng tinh chỉnh.
Hiển thị bốn hình ảnh xác thực mẫu với các nhãn dự đoán của chúng.
Tính toán độ chính xác phân loại trên tập xác nhận. Độ chính xác là phần của các nhãn mà mạng dự đoán chính xác.