Tất cả về AUTOML (Auto ML) trong Máy học tự động, trí tuệ nhân tạo AI

Chuyên đề này giúp bạn hiểu đầy đủ về AUTOML (Auto ML) trong Máy học tự động, trí tuệ nhân tạo AI. Bạn hãy lưu Bytuong để theo dõi nội dung này được cập nhật thường xuyên.

AutoML là gì? Khái niệm và định nghĩa AUTO ML

AutoML hay còn gọi là Học máy tự động, AutoML là quá trình tự động hóa các quy trình từ đầu đến cuối áp dụng học máy vào các vấn đề trong thế giới thực.

Các mô hình học máy truyền thống có thể được chia đại khái thành bốn phần sau: thu thập dữ liệu, xử lý trước dữ liệu, tối ưu hóa và ứng dụng;

Theo nghĩa đen, AutoML là Auto+ML, là sự kết hợp giữa tự động hóa và học máy. Từ quan điểm kỹ thuật, nó thường đề cập đến việc áp dụng tự động hóa trong một hoặc nhiều giai đoạn của quá trình học máy. không yêu cầu sự tham gia thủ công. Ví dụ: trong hình minh họa AutoML cổ điển được trích dẫn ở đầu bài viết này: nó bao gồm bốn giai đoạn điển hình: Kỹ thuật tính năng, Lựa chọn mô hình, Lựa chọn thuật toán và Đánh giá mô hình, nhưng chỉ có vấn đề Ba phần định nghĩa, chuẩn bị dữ liệu và triển khai mô hình được thực hiện thủ công.

AutoML không hẳn là một công nghệ mà nó là một ý tưởng: ý tưởng giới thiệu công nghệ (tự động hóa) từ ngành này sang ngành khác (học máy). Vì vậy, ở một góc độ nào đó, AutoML không phải là một công nghệ mới và nó không nhất thiết đòi hỏi những đột phá mang tính đổi mới.

Quá trình học máy truyền thống

>> Tất cả về INTERNET LƯỢNG TỬ. Mạng lượng tử là gì? Ai đang phát triển Internet lượng tử, khi nào Internet Lượng tử trở thành hiện thực?

Các phần tiền xử lý dữ liệu và tối ưu hóa mô hình thường yêu cầu các nhà khoa học dữ liệu có kiến ​​thức chuyên môn phải hoàn thành và họ xây dựng cầu nối từ dữ liệu đến điện toán.

Tuy nhiên, ngay cả các nhà khoa học dữ liệu cũng cần tốn nhiều công sức trong việc lựa chọn các thuật toán và mô hình.

Sự thành công của học máy trong các ứng dụng khác nhau đã dẫn đến nhu cầu ngày càng tăng đối với những người thực hành học máy. Do đó, chúng tôi hy vọng đạt được học máy thực sự để có thể tự động hóa nhiều công việc nhất có thể và hạ thấp hơn nữa ngưỡng cho học máy, cho phép mọi người không có chuyên môn trong lĩnh vực này để sử dụng máy học để hoàn thành công việc liên quan.

AutoML ra đời.

>> Thực sự thì Trái Đất Hình gì? Những giải thích để bạn hiểu chính xác về hình dạng và Kích thước khối lượng Trái Đất bao nhiêu

Bắt đầu từ các mô hình học máy truyền thống, AutoML thực hiện tự động hóa từ ba khía cạnh: kỹ thuật tính năng, xây dựng mô hình và tối ưu hóa siêu tham số; nó cũng đề xuất một giải pháp toàn diện. Cột này triển khai các ý tưởng của AutoML, giảm ngưỡng xuống mức tối thiểu, giới thiệu ngắn gọn các nguyên tắc và tập trung vào việc sử dụng các công cụ nguồn mở AutoML. Bài viết này chủ yếu tóm tắt và so sánh ưu nhược điểm của các công cụ AutoML khác nhau, để biết chi tiết về từng công cụ AutoML, vui lòng xem các bài viết chia nhỏ trong chuyên mục.

Kỹ thuật tính năng trong AutoML, học máy tự động

Kỹ thuật tính năng là gì?

Đặc điểm là sự chuyển đổi từ các đối tượng cụ thể trong thế giới thực sang các phép biến đổi số trừu tượng được biểu thị bằng các giá trị số.

Kỹ thuật tính năng là quá trình chuyển đổi dữ liệu thô thành các tính năng mô tả tốt hơn các vấn đề tiềm ẩn cho các mô hình dự đoán, từ đó cải thiện độ chính xác của mô hình đối với dữ liệu không nhìn thấy được.

Kỹ thuật tính năng thường bao gồm ba nhiệm vụ: tạo tính năng, lựa chọn tính năng và mã hóa tính năng.

Lựa chọn tính năng Trong nhiều dự án phân tích và lập mô hình dữ liệu, các nhà khoa học dữ liệu thu thập hàng trăm hoặc hàng nghìn tính năng. Tệ hơn nữa, đôi khi số lượng đặc điểm còn lớn hơn số lượng mẫu. Điều này là phổ biến, nhưng trong hầu hết các trường hợp, không phải tất cả các biến đều liên quan đến những gì máy đang cố gắng hiểu và mô hình hóa. Vì vậy, các nhà khoa học dữ liệu có thể cố gắng thiết kế một số phương pháp hiệu quả để chọn các tính năng quan trọng đó và kết hợp chúng vào mô hình, được gọi là lựa chọn tính năng. Việc tạo đối tượng thường đi trước việc lựa chọn đối tượng. Đối tượng mà nó trích xuất là dữ liệu gốc. Mục đích là để tự động xây dựng các đối tượng mới và chuyển đổi dữ liệu gốc thành một tập hợp các ý nghĩa vật lý rõ ràng (chẳng hạn như Gabor, đối tượng hình học, đối tượng kết cấu) hoặc ý nghĩa thống kê. Đặc trưng. Mã hóa tính năng Dữ liệu thô thường lộn xộn và có thể chứa nhiều ký hiệu đặc biệt không phải là số. Trên thực tế, dữ liệu mà mô hình học máy yêu cầu là dữ liệu số, vì chỉ có thể tính toán được các loại số. Do đó, đối với các giá trị tính năng đặc biệt khác nhau, chúng ta cần mã hóa chúng cho phù hợp, đây cũng là một quá trình định lượng.

>> 1200 Câu nói Tâm Đắc tích cực hay, câu nói tạo động lực và động viên tinh thần- Status ý nghĩa trong cuộc sống

Tại sao cần kỹ thuật tính năng tự động

Trong bước machine learning, kỹ thuật tính năng sẽ tiêu tốn rất nhiều nhân lực từ các nhà khoa học dữ liệu để trích xuất và lọc các tính năng, việc này không những tiêu tốn nhiều thời gian mà còn kém hiệu quả. Do đó, kỹ thuật tính năng tự động là cần thiết để tự động hóa các hoạt động này và tiết kiệm thời gian của các nhà khoa học dữ liệu.

Tóm tắt và so sánh các công cụ kỹ thuật tính năng phổ biến, được ứng dụng trong học máy tự động AutoML

Cột này đã nghiên cứu năm công cụ tối ưu hóa siêu tham số thường được sử dụng sau đây, đồng thời viết từng báo cáo một và xuất bản chúng trong cột này.

Tóm tắt các công cụ kỹ thuật tính năng (1)——Tsfresh. Trong AutoML- học máy tự động

Tsfresh là một công cụ kỹ thuật tính năng để xử lý cơ sở dữ liệu quan hệ chuỗi thời gian , có thể tự động trích xuất hơn 100 tính năng từ chuỗi thời gian. Gói này chứa nhiều phương pháp trích xuất tính năng và thuật toán lựa chọn tính năng mạnh mẽ, cũng như các phương pháp để đánh giá khả năng giải thích và tầm quan trọng của các tính năng này đối với các nhiệm vụ hồi quy hoặc phân loại.

Đặc trưng

TsFresh có thể tự động tính toán một số lượng lớn các tính năng chuỗi thời gian, còn được gọi là các tính năng, mô tả các đặc điểm cơ bản của chuỗi thời gian, chẳng hạn như số lượng đỉnh, giá trị trung bình hoặc giá trị tối đa hoặc các tính năng phức tạp hơn như thống kê đối xứng đảo ngược thời gian. Đồng thời, việc kiểm tra giả thuyết được sử dụng để giảm các đặc điểm thành những đặc điểm giải thích rõ nhất xu hướng, được gọi là giải tương quan. Sau đó, các bộ tính năng này có thể được sử dụng để xây dựng các mô hình thống kê hoặc học máy theo chuỗi thời gian, chẳng hạn như để sử dụng trong các tác vụ hồi quy hoặc phân loại.

Cài đặt

pip install tsfresh

Tóm tắt các công cụ kỹ thuật tính năng (2) – Trane trong AutoML, học máy tự động

Trane là kỹ thuật tính năng liên quan đến các mối quan hệ thời gian . Nó tạo ra các câu hỏi dự đoán và nhãn dự đoán cho các mô hình được giám sát.

vấn đề dự đoán

Trong khoa học dữ liệu, người ta thường có một số hồ sơ về một thực thể và muốn dự đoán điều gì sẽ xảy ra với thực thể này trong tương lai. Trane được thiết kế để tạo ra các vấn đề dự đoán phụ thuộc vào thời gian. Trane chuyển đổi siêu thông tin dữ liệu thành danh sách các câu hỏi và thời hạn dự đoán có liên quan. Thời gian giới hạn được xác định là lần cuối cùng trong dữ liệu được sử dụng để huấn luyện bộ phân loại. Dữ liệu bị cắt bớt được sử dụng để đánh giá độ chính xác của bộ phân loại. Thời gian cắt ngắn là cần thiết để ngăn việc huấn luyện bộ phân loại trên dữ liệu thử nghiệm.

Dự kiến ​​các vấn đề có thể xảy ra

Trong Trane, chúng tôi tạo ra các vấn đề dự đoán bằng bốn thao tác:

Hoạt động lọc

Hoạt động hàng

Hoạt động chuyển đổi

Hoạt động tập hợp

các hoạt động lọc được áp dụng cho các hàng bộ lọc. Và các hoạt động hàng, chuyển đổi và tổng hợp nên được sử dụng để tạo nhãn.

quá trình làm việc

Nhà khoa học dữ liệu viết meta.json mô tả các cột và kiểu dữ liệu trong cơ sở dữ liệu mới.

PredictionProblemGenerator đọc siêu dữ liệu và tạo ra các vấn đề dự đoán có thể xảy ra. Các vấn đề dự đoán được lưu dưới dạng problem.json.

Các nhà khoa học dữ liệu có thể sửa đổi các tham số của các vấn đề dự đoán trong problem.json.

Trình gắn nhãn áp dụng các vấn đề dự đoán trong problem.json vào dữ liệu.

 

Tóm tắt các công cụ kỹ thuật tính năng (3) – Categorical Encoding. Trong AutoML, học máy tự động

Mã hóa phân loại mở rộng nhiều phương pháp mã hóa phân loại triển khai giao diện chuyển đổi dữ liệu scikit-learn và triển khai các phương pháp mã hóa phân loại phổ biến như mã hóa một nóng và mã hóa băm, cũng như các phương pháp mã hóa thích hợp hơn như mã hóa cơ sở và mã hóa mục tiêu. . Thư viện này hữu ích khi làm việc với các biến phân loại trong thế giới thực, chẳng hạn như những biến có số lượng số cao. Thư viện này cũng có thể được sử dụng trực tiếp với pandas để đếm các giá trị còn thiếu, cũng như xử lý các giá trị được chuyển đổi bên ngoài tập huấn luyện.

Cài đặt

cài đặt pip

pip install category_encoders

Cài đặt Conda

conda install -c conda-forge category_encoders

Chức năng

Nó bao gồm 15 phương pháp mã hóa sau. Các chức năng, định nghĩa tham số và thuộc tính của các mã hóa này được biết từ trang web chính thức .

Mã hóa chênh lệch ngược

BaseN

nhị phân

Bộ mã hóa CatBoost

Băm

Mã hóa mũ bảo hiểm

Bộ mã hóa James-Stein

Để lại một cái

ước tính M

một nóng

thứ tự

Mã hóa đa thức

Mã hóa tổng

Bộ mã hóa mục tiêu

Trọng lượng của bằng chứng

Tóm tắt các công cụ kỹ thuật tính năng (4) – boruta_py

Dự án boruta_py cung cấp triển khai python của thuật toán lựa chọn tính năng boruta hoàn toàn có liên quan.

Lựa chọn tính năng

Trong nhiều dự án phân tích và lập mô hình dữ liệu, các nhà khoa học dữ liệu thu thập hàng trăm hoặc hàng nghìn đặc điểm. Tệ hơn nữa, đôi khi số lượng đặc điểm còn lớn hơn số lượng mẫu. Điều này là phổ biến, nhưng trong hầu hết các trường hợp, không phải tất cả các biến đều liên quan đến những gì máy đang cố gắng hiểu và mô hình hóa. Vì vậy, các nhà khoa học dữ liệu có thể cố gắng thiết kế một số phương pháp hiệu quả để chọn các tính năng quan trọng đó và kết hợp chúng vào mô hình, được gọi là lựa chọn tính năng.

Cài đặt

cài đặt pip

pip install Boruta

Cài đặt Conda

conda install -c conda-forge boruta_py

Thư viện phụ thuộc

numpy // Borata chỉ hỗ trợ dữ liệu numpy

khoa học

scikit-tìm hiểu

Đặc trưng

Boruta là một phương pháp lựa chọn tính năng có tương quan đầy đủ và hầu hết các phương pháp khác là tối ưu tối thiểu; điều này có nghĩa là nó cố gắng tìm tất cả các tính năng mang thông tin có thể được sử dụng để dự đoán, thay vì tìm một vài tính năng có thể có lỗi phân loại nhỏ nhất. tập hợp con nhỏ gọn. Tính năng tương quan đầy đủ được sử dụng vì khi một máy cố gắng hiểu hiện tượng tạo ra dữ liệu, nó phải tập trung vào tất cả các yếu tố có liên quan đến nó chứ không chỉ các tính năng nổi bật nhất của một phương pháp cụ thể.

Các bước thuật toán

Tạo đối tượng bóng (đối tượng bóng): Đối với mỗi đối tượng thực R, xáo trộn ngẫu nhiên thứ tự để thu được ma trận đối tượng bóng S và ghép nó phía sau đối tượng thực để tạo thành ma trận đối tượng mới N = [R, S].

Sử dụng ma trận tính năng mới N làm đầu vào để huấn luyện mô hình. Các mô hình có thể xuất ra feature_importances_, chẳng hạn như RandomForest, lightgbm và xgboost, có thể nhận được tầm quan trọng của tính năng của các tính năng thực và tính năng bóng.

Lấy giá trị tối đa S_max của tầm quan trọng của đối tượng địa lý bóng. Nếu tầm quan trọng của đối tượng địa lý thực lớn hơn S_max, một lần truy cập sẽ được ghi lại.

Sử dụng các đặc điểm thực được ghi ở (3) để tích lũy lượt truy cập và đánh dấu các đặc điểm là quan trọng hoặc không quan trọng.

Xóa các tính năng không quan trọng và lặp lại 1-4 cho đến khi tất cả các tính năng được dán nhãn.

Tóm tắt các công cụ kỹ thuật tính năng (5)——Featuretools. Ứng dụng trong học máy tự động AutoML

Featuretools là một khuôn khổ để thực hiện kỹ thuật tính năng tự động.

Featuretools là một dự án mã nguồn mở được công bố bởi Feature Labs. Nó vượt trội trong việc chuyển đổi các tập dữ liệu quan hệ và thời gian thành các ma trận tính năng cho máy học.

Ví dụ sử dụng

Featuretools sử dụng DFS để xử lý cụ thể các tập dữ liệu quan hệ và thời gian. Cốt lõi là DFS. Sau đây là ví dụ về giao dịch của khách hàng có dấu thời gian để phân tích quy trình này.

dữ liệu

Nó xử lý các tập dữ liệu quan hệ, bao gồm các tập thực thể (EntitySet) và các mối quan hệ (Relationship) .

EntitySet : Là tập hợp các thực thể, trong FeatureTools, bảng quan hệ được gọi là một thực thể.

Mối quan hệ : FeatureTools chỉ mô tả mối quan hệ một-nhiều, thực thể có một là thực thể cha, thực thể có nhiều là thực thể con, một người cha có thể có nhiều con. Ví dụ: một khách hàng có thể có nhiều phiên thì bảng khách hàng là bảng cha của bảng phiên. Mối quan hệ chỉ ra rằng thực thể con trỏ đến thực thể cha.

Những kỹ thuật và công nghệ mới về AutoML

ENAS: Thiết kế các mô hình mạng thần kinh hiệu quả hơn (AutoML): ENAS là viết tắt của Tìm kiếm kiến ​​trúc thần kinh hiệu quả, xuất phát từ bài báo “Tìm kiếm kiến ​​trúc thần kinh hiệu quả thông qua chia sẻ tham số” do Google xuất bản năm 2018. Nó hiện thực hóa cấu trúc mô hình mạng thần kinh một cách hiệu quả bằng cách chia sẻ tham số mô hình.

Các công nghệ chính được sử dụng: Học tăng cường, xây dựng đồ thị tính toán động và các công nghệ khác. Ở góc độ vĩ mô, đây là thuật toán tìm kiếm và đầu ra là mô hình NN được lựa chọn cẩn thận. Vì vậy, đây là AutoML đáp ứng được mong đợi và đồng thời thời gian đạt được “Học máy (ML) tự động (Tự động)” hoàn chỉnh cũng yêu cầu hỗ trợ kỹ thuật như trích xuất tính năng tự động và điều chỉnh siêu tham số tự động.

(1) Ví dụ về NAS

Giả định rằng mô hình phải là mạng nơ-ron được kết nối đầy đủ ba lớp (lớp đầu vào, lớp ẩn và lớp đầu ra), lớp ẩn có thể có các chức năng kích hoạt và số lượng nút khác nhau. Giả định rằng kích hoạt hàm phải là một trong các loài relu hoặc sigmoid., và số nút ẩn phải là một trong 10, 20 hoặc 30 thì ta gọi không gian tìm kiếm của cấu trúc mạng này là {relu, sigmoid} * {10, 20, 30 }. Có 6 cấu trúc mô hình có thể được kết hợp trong không gian tìm kiếm. Trong không gian tìm kiếm có thể đếm được, chúng ta có thể triển khai lần lượt 6 cấu trúc mô hình có thể này. Mục tiêu cuối cùng là tạo ra mô hình tốt nhất, sau đó chúng ta có thể huấn luyện chúng một cách riêng biệt. Sáu cấu trúc mô hình này các mô hình được đánh giá bằng các chỉ số như AUC và độ chính xác, sau đó cấu trúc mô hình mạng thần kinh tối ưu được trả về hoặc tạo ra.

Thuật toán NAS là thuật toán tìm kiếm cho một không gian tìm kiếm cấu trúc mô hình nhất định. Tất nhiên, không gian tìm kiếm này không thể chỉ có một vài tổ hợp tham số. Trong không gian tìm kiếm ví dụ của ENAS, có khoảng 1,6*10^29 cấu trúc tùy chọn và Thuật toán tìm kiếm cũng không thể giải quyết vấn đề bằng cách liệt kê các cấu trúc mô hình và huấn luyện chúng một cách riêng biệt. Thay vào đó, cần có một thuật toán tìm kiếm heuristic hiệu quả hơn, thuật toán này là tối ưu hóa Bayesian, học tăng cường, thuật toán tiến hóa, v.v.

(2) Thuật toán điều chỉnh tự động siêu tham số: Tối ưu hóa Bayes

NAS là một thuật toán tìm kiếm, nhằm tìm ra cấu trúc mô hình có hiệu ứng mô hình tốt từ không gian tìm kiếm quy mô rất lớn. Chúng ta cũng có thể coi loại vấn đề này là một vấn đề tối ưu hóa, nghĩa là tìm một mô hình khác có hiệu ứng tốt hơn từ không gian tìm kiếm.cấu trúc mô hình. Loại vấn đề này được coi là một loại vấn đề tối ưu hóa hộp đen. Để biết giải pháp cho các vấn đề tối ưu hóa hộp đen, bạn có thể tham khảo tối ưu hóa Bayesian ( https://zhuanlan.zhihu.com/p/29779000).

(3) Lấy không gian tìm kiếm:

Xác định một không gian tìm kiếm để cho phép thuật toán chọn cấu trúc mạng tốt hơn. Không gian tìm kiếm này không gì khác hơn là số lớp mạng, loại lớp mạng, loại chức năng kích hoạt của lớp mạng, liệu Dropout có được thêm vào không lớp mạng và liệu Batch có được thêm vào lớp mạng hay không. Việc chuẩn hóa, cũng như kích thước bộ lọc, dải, phần đệm của lớp chập, loại bỏ phiếu, kích thước hạt nhân của lớp gộp, v.v., đều có thể được coi là siêu tham số của lớp mạng mạng lưới thần kinh. Sử dụng tensorflow_tempalate_application, chúng ta có thể

chọn cấu trúc mô hình tốt hơn bằng cách truyền tham số –model={dnn, lr, wide_and_deep, cnn} hoặc chúng ta có thể truyền tham số –optimizer={sgd,

adadelta, adagrad, adam, ftrl, rmsprop} Chọn một thuật toán tối ưu hóa tốt hơn.

(4) Phương pháp tìm kiếm trên không gian mạng

Phương pháp liệt kê bạo lực (loại trừ), tối ưu hóa Bayesian, tối ưu hóa nhóm hạt,

gradient chính sách, DQN, v.v. Các thuật toán này đều có thể được sử dụng để tối ưu hóa mô hình trong NAS. Đúng, bên trong NAS cũng có một mô hình, thường được gọi là mô hình bộ điều khiển trong giấy tờ hoặc mã, nó điều khiển cấu trúc của mô hình mạng nơ-ron mà bạn muốn tạo và mô hình mạng nơ-ron được tạo ra sẽ dựa trên cách sử dụng của khách hàng kịch bản (chẳng hạn như phân loại hình ảnh) ) để trả về các chỉ số tương ứng với hiệu ứng mô hình, thường được gọi là mô hình con.

NAS chưa học được cách lập mô hình và không thể thay thế các thuật toán. Các nhà khoa học đã thiết kế các cấu trúc mạng thần kinh phức tạp như Inception nhưng nó có thể sử dụng các thuật toán heuristic để thực hiện một số lượng lớn các phép tính. Chỉ cần con người cho không gian tìm kiếm của cấu trúc mạng là nó có thể nhanh hơn con người Tìm cấu trúc mô hình tốt nhất chính xác hơn.

ENAS yêu cầu con người đưa ra số node của mô hình mạng được tạo ra, chúng ta cũng có thể hiểu là số lớp, tức là con người yêu cầu ENAS thiết kế một cấu trúc mạng nơ-ron phức tạp, nhưng nếu con người nói chỉ có 10 các lớp, ENAS không thể tạo ra một lớp. Với hơn 10 lớp cấu trúc mạng, việc tạo ra ResNet hoặc Inception từ không khí lại càng không thể.

Như hình bên dưới: Điều ENAS cần tìm hiểu và lựa chọn là mối quan hệ kết nối giữa các Node.Một số lượng lớn cấu trúc mô hình mạng nơ-ron sẽ được tạo ra thông qua các kết nối khác nhau.Việc lựa chọn kết nối tối ưu cũng tương đương với việc “thiết kế” một mạng nơ-ron mới.

Điều chỉnh các mối quan hệ kết nối cấu trúc mạng

TensorFlow biểu thị hướng luồng của dữ liệu Tensor, còn sơ đồ hướng luồng là biểu đồ tính toán (Graph) do người dùng xác định bằng mã Python, nếu chúng ta muốn triển khai mô hình trong đó tất cả các Lớp được kết nối theo một đường thẳng trong Hình trên, chúng ta cần chỉ định nhiều Lớp, sau đó kết nối đầu vào và đầu ra để có thể huấn luyện các trọng số của mô hình.

Khi chúng ta thay đổi mô hình trong đó tất cả các lớp được kết nối theo đường thẳng trong hình trên sang mô hình có các đường nối chéo ở bên phải, rõ ràng hai lớp này là các Đồ thị khác nhau và là điểm kiểm tra của mô hình xuất trước đây trọng số không thể được nhập vào mô hình sau, nhưng theo trực giác, vị trí của các nút này không thay đổi.

Nếu hình dạng của các Tensor đầu vào và đầu ra không thay đổi thì số lượng trọng số của các nút này là như nhau, nghĩa là trọng số của Node0, Node1, Node2 và Node3 ở bên trái có thể được sao chép hoàn toàn sang nút tương ứng ở bên phải. Đây là nguyên tắc của ENAS để thực hiện chia sẻ trọng lượng.

Đầu tiên, một số Nút cố định sẽ được xác định, sau đó một bộ tham số sẽ được sử dụng để kiểm soát chỉ số nút hàng đầu được kết nối với mỗi nút. Bộ tham số này là những gì chúng ta sẽ làm cuối cùng chọn, bởi vì với nó

ó có thể biểu thị một cấu trúc mạng thần kinh cố định và chỉ cần sử dụng các thuật toán tối ưu hóa đã đề cập trước đó như tối ưu hóa Bayesian và DQN để điều chỉnh và chọn bộ tham số tốt nhất. Mô hình đánh giá ở đây có nghĩa là mỗi nhóm mô hình sử dụng cùng một tập trọng số, mỗi nhóm thực hiện Suy luận trên tập xác minh chưa được huấn luyện và cuối cùng chọn cấu trúc mô hình có AUC hoặc độ chính xác tốt nhất.

Trên thực tế, nó có nghĩa là chọn phương thức kết nối của các nút hoặc Một tập hợp các tham số đại diện cho phương thức kết nối.

Tóm lại, vì tất cả các mô hình do ENAS tạo ra đều có cùng số lượng nút và đầu vào và đầu ra của các nút đều giống nhau nên tất cả trọng số của tất cả các nút của tất cả các mô hình đều có thể được tải và sử dụng, vì vậy chúng ta chỉ cần đào tạo một lần Sau mô hình lấy được trọng số, để mỗi mô hình đưa ra ước tính trên bộ xác thực, chỉ cần hiệu quả tốt có nghĩa là đã tìm thấy mô hình tốt hơn.

Trên thực tế, quá trình này sẽ được thực hiện nhiều lần và tập trọng số chia sẻ này cũng sẽ được cập nhật sau một khoảng thời gian,

ví dụ: nếu tôi tìm thấy cấu trúc mô hình tốt hơn, tôi có thể sử dụng giao diện này để huấn luyện và cập nhật các trọng số , sau đó xem liệu có cấu trúc mô hình nào khác có thể hoạt động tốt hơn trên máy xác minh sau khi sử dụng bộ trọng số này hay không.

Tóm tắt : Nguyên lý của NAS thực sự rất đơn giản. Đầu tiên, nó tìm kiếm trong một không gian nhất định. Để tối ưu hóa vấn đề, các thuật toán tối ưu hóa hộp đen như tối ưu hóa Bayesian và học tăng cường được sử dụng. Để tạo mẫu, chia sẻ trọng số và suy luận đa mô hình là Việc triển khai mã hóa sử dụng các kỹ thuật viết Biểu đồ nâng cao để tạo Biểu đồ một cách linh hoạt.

Ví dụ Công ty nào ứng dụng AutoML trong thực tế

  • Disney đã xây dựng mô hình phân loại hình ảnh thông qua AutoML để gắn nhãn sản phẩm theo các danh mục như ký tự, chủng loại, màu sắc và đưa vào chức năng tìm kiếm để người tiêu dùng tìm kiếm sản phẩm thuận tiện và chính xác hơn.
  • Nhà bán lẻ quần áo nổi tiếng của Mỹ Urban Outfitters cũng sử dụng AutoML để phân loại sản phẩm.

Giới thiệu về AutoML Vision là gì

AutoML Vision là dịch vụ cung cấp khả năng phát triển tự động các hệ thống nhận dạng hình ảnh tùy chỉnh. Người dùng chỉ cần tải lên dữ liệu của riêng mình để đào tạo và quản lý mô hình trực tiếp trên Google Cloud. Nói cách khác, ngay cả những người không có chuyên môn về học máy cũng có thể dễ dàng xây dựng các mô hình nhận dạng hình ảnh tùy chỉnh thông qua dịch vụ này miễn là họ hiểu các khái niệm cơ bản của mô hình.

Các công nghệ then chốt của AutoML Vision

AutoML Vision dựa trên hai công nghệ cốt lõi: học chuyển giao và tìm kiếm kiến ​​trúc thần kinh.

Công nghệ then chốt 1: Chuyển giao học tập

Học chuyển giao sử dụng các mô hình được đào tạo trước để cho phép mọi người đạt được kết quả cao nhất với một lượng nhỏ tập dữ liệu hoặc ít sức mạnh tính toán hơn. Đây là một công nghệ rất mạnh mẽ. Các mô hình được đào tạo trước đây được đào tạo trên các tập dữ liệu lớn hơn, tương tự. Vì mô hình không cần phải học từ đầu nên nó có thể cho kết quả chính xác hơn những mô hình sử dụng ít dữ liệu và thời gian tính toán hơn.

Công nghệ mũi nhọn 2: NAS (Neural Architecture Search)

NAS là Tìm kiếm Kiến trúc Thần kinh

, mục tiêu là tìm kiếm một mô hình mạng thần kinh tốt từ một loạt các thành phần mạng thần kinh. Chúng ta biết rằng mô hình mạng nơ-ron là một cấu trúc mô hình có thể xếp chồng tùy ý, các thành phần cơ bản bao gồm FC (lớp được kết nối đầy đủ), Convolution (lớp tích chập), Polling (lớp gộp), Activation (chức năng kích hoạt), v.v. thành phần Thành phần trước đó có thể được sử dụng làm đầu vào. Các phương thức kết nối thành phần khác nhau và phương thức cấu hình siêu tham số có tác dụng khác nhau trong các tình huống ứng dụng khác nhau.

So sánh tìm kiếm và chuyển giao kiến ​​trúc thần kinh:

Ý tưởng cơ bản của học chuyển giao là cấu trúc mạng lưới thần kinh sẽ tổng quát hóa cho cùng một loại vấn đề: ví dụ: nhiều hình ảnh có các đặc điểm cơ bản (chẳng hạn như góc, hình tròn, mặt chó, bánh xe, v.v.) và các đặc điểm này tạo thành Tính đa dạng của hình ảnh. Thay vào đó, điều làm cho việc tìm kiếm theo kiến ​​trúc thần kinh trở nên hiệu quả hơn là mỗi tập dữ liệu đều là duy nhất và cấu trúc của nó rất riêng biệt.

Khi tìm kiếm kiến ​​trúc thần kinh phát hiện ra một cấu trúc mới, bạn phải tìm hiểu trọng số của cấu trúc đó từ đầu. Nhưng với phương pháp học chuyển tiếp, bạn có thể bắt đầu tập luyện từ mức tạ hiện có trên mô hình được đào tạo trước. Điều này cũng có nghĩa là bạn không thể sử dụng học chuyển giao và tìm kiếm kiến ​​trúc thần kinh cùng lúc cho cùng một vấn đề: nếu bạn muốn học một kiến ​​trúc mới, bạn có thể cần phải đào tạo một trọng lượng mới cho nó; nhưng nếu bạn sử dụng học chuyển giao , bạn có thể không cần phải thay đổi đáng kể cấu trúc.

AutoML bao gồm hai mạng thần kinh: bộ điều khiển (Bộ điều khiển) và mạng con (Con). Bộ điều khiển tạo ra một kiến ​​trúc mô hình con. Kiến trúc mô hình con thực hiện đào tạo nhiệm vụ cụ thể và đánh giá chất lượng của mô hình và phản hồi lại nó đến bộ điều khiển. Bộ điều khiển sẽ dùng kết quả làm tài liệu tham khảo cho lần sửa đổi chu kỳ tiếp theo. Sau khi lặp lại chu trình “thiết kế kiến ​​trúc mới, đánh giá, phản hồi và học hỏi” hàng nghìn lần, bộ điều khiển có thể thiết kế kiến ​​trúc mô hình chính xác nhất.

Cách xây dựng AutoML

Tìm kiếm kiến ​​trúc mạng

1.1 Chiến lược tìm kiếm kiến ​​trúc mạng nơ-ron

Kỹ thuật kiến ​​trúc là một mắt xích rất quan trọng trong quá trình phát triển các mô hình mạng nơ-ron, nếu kiến ​​trúc mạng nơ-ron vốn có những khiếm khuyết, việc điều chỉnh các tham số một cách mù quáng sẽ không cải thiện đáng kể hiệu quả của mô hình. Công việc chính của thiết kế kiến ​​trúc mạng nơron bao gồm xác định không gian tìm kiếm, thiết lập chiến lược tìm kiếm và thiết lập chiến lược đánh giá.

(1) Không gian tìm kiếm

Không gian tìm kiếm xác định các biến của bài toán tối ưu hóa và các kích thước biến khác nhau gây ra những khó khăn khác nhau cho thuật toán. Hiệu suất của mô hình học sâu được xác định chung bởi kiến ​​trúc mạng và các siêu tham số tương ứng.

Cấu trúc mạng chuỗi phổ biến, cấu trúc này tương đương với chuỗi lớp N. Cấu trúc mạng chuỗi tham số hóa không gian tìm kiếm theo các cách sau: (i) (tối đa) số lớp n; Loại hoạt động mà mỗi lớp có thể thực hiện, chẳng hạn như gộp, tích chập hoặc các loại lớp nâng cao hơn như tích chập có thể phân tách theo chiều sâu hoặc tích chập giãn nở; (iii) Siêu tham số liên quan đến hoạt động, chẳng hạn như số lượng bộ lọc, kích thước hạt nhân và bước tiến của lớp chập. Các tham số của (iii) phụ thuộc vào (ii), việc tham số hóa không gian tìm kiếm không phải là độ dài cố định mà là không gian có điều kiện.

Với cấu trúc mạng đa nhánh. Cấu trúc mạng đa nhánh nhảy ra khỏi các kết nối, cho phép xây dựng các mạng đa nhánh phức tạp, Sử dụng tính năng này có thể tăng đáng kể mức độ tự do và tăng tốc quá trình tìm kiếm. Cấu trúc mạng chuỗi, ResNets và DenseNets có thể được coi là trường hợp đặc biệt của cấu trúc mạng đa nhánh.

 

Đối với So sánh cấu trúc tìm kiếm mạng

Với cấu trúc tìm kiếm dựa trên đơn vị. Các phần lặp lại của mạng được tổ chức thành các đơn vị, do đó tìm kiếm mô hình chỉ đơn giản được chuyển thành tìm kiếm đơn vị. Việc xây dựng mạng bao gồm hai vấn đề: một là làm thế nào để xác định số lượng đơn vị, và đơn vị còn lại là kết nối đơn vị. Cách chọn phương pháp. So với tìm kiếm trực tiếp trong cấu trúc mạng tổng thể, tìm kiếm đơn vị có hai ưu điểm: thứ nhất, không gian tìm kiếm có thể nhỏ hơn nhiều và thứ hai, các đơn vị thu được khi tìm kiếm có thể dễ dàng di chuyển sang các tập dữ liệu khác.

 

(2) Chiến lược tìm kiếm

Chiến lược tìm kiếm xác định thuật toán nào được sử dụng để tìm nhanh chóng và chính xác cấu hình tham số cấu trúc mạng tối ưu. Các phương pháp tìm kiếm phổ biến bao gồm: tìm kiếm ngẫu nhiên, tối ưu hóa Bayes, thuật toán tiến hóa, học tăng cường và thuật toán dựa trên độ dốc. Chiến lược tìm kiếm sẽ được xây dựng trong thiết kế triển khai quy trình chiến lược cấu hình siêu tham số.

(3) Chiến lược đánh giá

Chiến lược đánh giá cũng tương tự như mô hình tác nhân trong tối ưu hóa kỹ thuật, vì hiệu quả của mô hình deep learning phụ thuộc rất nhiều vào quy mô của dữ liệu huấn luyện nên việc huấn luyện mô hình trên dữ liệu quy mô lớn sẽ rất tốn thời gian và việc đánh giá kết quả tối ưu hóa sẽ rất tốn thời gian nên cần có phương pháp thiết kế để đánh giá gần đúng.

Trong số các chiến lược đánh giá, một cách tiếp cận dựa trên chiến lược độ chính xác thấp (Độ trung thực thấp), chẳng hạn như thời gian huấn luyện ngắn hơn, sử dụng ít tập huấn luyện hơn, sử dụng độ phân giải hình ảnh thấp hơn hoặc sử dụng ít bộ lọc hơn trong mỗi lớp. chi phí đào tạo nhưng cũng sẽ gây ra một số sai lệch về các chỉ số, tuy nhiên sự sai lệch này sẽ ít ảnh hưởng đến kết quả cuối cùng.

Một chiến lược khác dựa trên phương pháp suy luận, chẳng hạn như phương pháp suy luận đường cong học tập. Ý tưởng cốt lõi của ý tưởng này là suy ra đường cong học tập ban đầu và chấm dứt những đường cong đó với hiệu suất dự đoán kém để tăng tốc quá trình tìm kiếm kiến ​​trúc. Ngoài ra còn có một phương pháp suy luận dựa trên suy luận mô hình proxy, đó là suy ra mô hình mạng cuối cùng thông qua hiệu suất của một mô hình mạng nhỏ.

Ngoài ra, còn có một chiến lược dựa trên việc di chuyển tham số trọng số (Weight Parameter Migration), tức là áp dụng trực tiếp tham số mô hình đã huấn luyện vào cấu trúc mạng hiện tại. Mô hình mạng hiện tại tương đương với việc học từ điểm xuất phát cao, điều này có thể rất lớn rút ngắn thời gian đào tạo..

Điều chỉnh tham số

Chiến lược cấu hình siêu tham số

Các phương pháp tìm kiếm siêu tham số thường được sử dụng bao gồm:

(1) Tìm kiếm lưới

Khi tìm kiếm trong toàn bộ không gian siêu tham số, rất dễ gặp phải lời nguyền về chiều trong không gian nhiều chiều, vì vậy việc tìm kiếm dạng lưới chỉ khả thi trên một số lượng nhỏ cấu hình. Mỗi quá trình lặp lại huấn luyện là độc lập với nhau và kiến ​​thức tiên nghiệm không thể được sử dụng để chọn tập siêu tham số tiếp theo.

(2) Tìm kiếm ngẫu nhiên

Trong lấy mẫu đơn giản thưa thớt, các thử nghiệm độc lập với nhau và không thể sử dụng kiến ​​thức trước đó để chọn tập siêu tham số tiếp theo. Siêu tham số được chọn song song, nhưng với ít thử nghiệm hơn và hiệu suất tương đương. Một số siêu tham số có thể mang lại hiệu suất tốt, số khác thì không.

(3) Tối ưu hóa Bayes

Là một trình tối ưu hóa điều chỉnh tự động siêu tham số, tối ưu hóa Bayes hiệu quả hơn hai phương pháp trên. Tối ưu hóa Bayes là tối ưu hóa siêu tham số dựa trên mô hình đã được áp dụng để điều chỉnh siêu tham số trong máy học và kết quả cho thấy phương pháp này có thể đạt được hiệu suất tốt hơn trên tập kiểm tra trong khi yêu cầu ít lần lặp hơn so với tìm kiếm ngẫu nhiên.

(4) Thuật toán tiến hóa

Thuật toán tiến hóa là thuật toán tối ưu hóa không có độ dốc (Thuật toán tối ưu hóa tự do phái sinh), ưu điểm của nó là có thể thu được giải pháp tối ưu toàn cục, nhưng nhược điểm là hiệu quả tương đối thấp. Thuật toán tiến hóa được sử dụng như một giải pháp điển hình trong tìm kiếm siêu tham số. Thuật toán tiến hóa được sử dụng để tối ưu hóa cấu trúc thần kinh. Thuật toán di truyền được sử dụng để tạo ra cấu trúc và thuật toán lan truyền ngược được sử dụng để tối ưu hóa trọng số. Khi kiến ​​trúc mạng thần kinh được sử dụng cho các nhiệm vụ học tập có giám sát có quy mô lên tới hàng triệu trọng số, do hạn chế về quy mô tính toán, chỉ có thể sử dụng các thuật toán tiến hóa để tối ưu hóa chính cấu trúc thần kinh.

(5) Học tăng cường

Tìm kiếm kiến ​​trúc mạng thần kinh có thể được xử lý như một vấn đề học tăng cường: quá trình tạo kiến ​​trúc mạng thần kinh được thiết kế dưới dạng đào tạo lặp lại của việc học mô hình tác nhân học tăng cường và các hành động của mô hình tác nhân trong không gian được sử dụng để thiết lập không gian kiến ​​trúc mạng thần kinh tìm kiếm . Sau đó, dựa trên hiệu suất của mô hình được tạo trên tập kiểm tra, công nghệ học tăng cường được kết hợp để khen thưởng hoặc trừng phạt mô hình được tạo ra, để mô hình tác nhân có thể điều chỉnh hướng tạo khung dựa trên phần thưởng và hình phạt.

(6) Tối ưu hóa toàn cục dựa trên mô hình tuần tự

Tối ưu hóa toàn cầu dựa trên mô hình tuần tự (SMBO) gần đúng với chức năng hộp đen thực sự bằng cách sử dụng các chức năng proxy. Vòng lặp bên trong của SMBO là sự tối ưu hóa của giải pháp thay thế này hoặc một số loại chuyển đổi của tác nhân.