1. LỜI NÓI ĐẦU 3 2. ĐẶT VẤN ĐỀ 3 2.1. Bộ dữ liệu 3 2.2. Làm sạch dữ liệu 3 3. LỰA CHỌN FRAMEWORK 4 3.1. Lựa chọn AutoML frameworks 4 3.2 So sánh ưu nhược điểm của các đã thử nghiệm 4 AutoKeras 5 4. THÍ NGHIỆM 5 4.1. Tiến hành thí nghiệm 5 4.2. Kết quả thí nghiệm 6 5. ĐÁNH GIÁ KẾT QUẢ 7 5.1. So sánh tần suất các thuật toán được các AutoML framework lựa chọn 7 5.2. Pipelinehyperparameters của thuật toán ”tốt nhất” 9 5.2.1 TPOT 9 5.2.2 H2O 10 5.2.3 AutoSklearn 11 5.3. So sánh validation score và test score của top 3 pipeline 12 Đối với machine learning 12 5.3.1. TPOT 12 5.3.2 H20 13 5.3.3 Auto SKLearn 14 Đối với deep learning 14 5.3.4 Auto Pytorch 14 5.3.5 Auto Keras 15 5.4. Tùy chọn: Nếu sử dụng thêm biến phase là predictor thì độ chính xác dự đoán có tăng lên không? 15 5.4.1 AutoML Framework: 15 a. TPOT 15 b. H2O 16 c. Auto SKLearn 16 5.4.2 Với Deep Learning: 17 a. Auto PyTorch 17 b. Auto Keras 18 c. H2O 18 6. KẾT LUẬN 19 7. TÀI LIỆU THAM KHẢO 19
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ BÁO CÁO ĐỀ TÀI MÔN HỌC CÁC VẤN ĐỀ HIỆN ĐẠI TRONG KỸ THUẬT MÁY TÍNH Giảng viên hướng dẫn: TS Hoàng Gia Hưng Đề tài: Ứng dụng AutoML để xây dựng mơ hình dự đốn ứng xuất phát sinh hợp kim entropy cao Sinh viên: Nguyễn Đức Luân Mã sinh viên: 20020685 Lớp: K65K Mã môn học: ELT3241 Hà Nội - 2023 MỤC LỤC LỜI NÓI ĐẦU ĐẶT VẤN ĐỀ 2.1 Bộ liệu 2.2 Làm liệu 3 LỰA CHỌN FRAMEWORK 3.1 Lựa chọn AutoML frameworks 3.2 So sánh ưu nhược điểm thử nghiệm AutoKeras THÍ NGHIỆM 4.1 Tiến hành thí nghiệm 4.2 Kết thí nghiệm ĐÁNH GIÁ KẾT QUẢ 5.1 So sánh tần suất thuật toán AutoML framework lựa chọn 5.2 Pipeline/hyperparameters thuật toán ”tốt nhất” 5.2.1 TPOT 5.2.2 H2O 10 5.2.3 Auto-Sklearn 11 5.3 So sánh validation score test score top pipeline 12 * Đối với machine learning 12 5.3.1 TPOT 12 5.3.2 H20 13 5.3.3 Auto SK-Learn 14 * Đối với deep learning 14 5.3.4 Auto Pytorch 14 5.3.5 Auto Keras 15 5.4 Tùy chọn: Nếu sử dụng thêm biến phase predictor độ xác dự đốn có tăng lên không? 15 5.4.1 AutoML Framework: 15 a TPOT 15 b H2O 16 c Auto SK-Learn 16 5.4.2 Với Deep Learning: 17 a Auto PyTorch 17 b Auto Keras 18 c H2O 18 KẾT LUẬN TÀI LIỆU THAM KHẢO 19 19 LỜI NÓI ĐẦU Trong báo cáo này, sử dụng liệu cung cấp yield strength (ứng suất phát sinh - viết tắt ys) hợp kim entropy cao (high entropy alloy – HEA) Từ sử dụng framework AutoML Deep learning để xây dựng mơ hình dự đoán ứng xuất phát sinh ys dựa vào đặc tính hợp kim có liệu Từ đưa nhận định so sánh framework lựa chọn ĐẶT VẤN ĐỀ 2.1 Bộ liệu Bộ liệu yield strength (ứng suất phát sinh - viết tắt ys) hợp kim entropy cao (high entropy alloy - HEA)[1, 2] có 377 mẫu (hàng) 16 trường (cột) liệu Mỗi cột đặc tính hợp kim xét tới Dưới mẫu liệu: Tuy nhiên, khuôn khổ báo cáo này, sử dụng đặc tính (cột): vec, deltachi, delta, deltahmix, deltasmix để dự đoán ứng suất phát sinh ys mẫu hợp kim 2.2 Làm liệu Làm liệu (Data Cleaning) trình chuẩn bị liệu để phân tích cách loại bỏ thơng tin khơng liên quan khơng xác, khơng đầy đủ sai lệch làm sai lệch kết gây định sai lầm không thực tế Trong liệu tồn mẫu liệu mà cột liệu ứng suất phát sinh ys không tồn Vậy để không làm sai lệch kết quả, tiến hành lọc bỏ mẫu khỏi liệu xét thư viện pandas: df = df[df.ys.notnull()] Sau làm sạch, liệu từ 377 cịn 199 mẫu sử dụng LỰA CHỌN FRAMEWORK 3.1 Lựa chọn AutoML frameworks Trong trình trao đổi, giữ nhiều framework khác nhau, lựa chọn framework phổ biến để tiến hành thí nghiệm Tpot, Auto-SkLearn H2O framework machine learning auto-pytorch, autokeras, H2O deeplearning 3.2 So sánh ưu nhược điểm thử nghiệm Frameworks Ưu điểm Nhược điểm TPOT - Được xây dựng giống với scikit-learn nên dễ sử dụng - Có thể nhập module Python nào, câu lệnh ngắn gọn dễ thực - Tìm kiếm nhanh chóng thuật tốn cho hồi quy tuyến tính - Có chức chấm điểm để đánh giá pipeline tìm kiếm - Cấu hình TPOT thích hợp điều chỉnh tốn tử tham số cho phù hợp - Thời gian chạy để tìm kiếm thuật tốn lâu - Nếu chạy TPOT khơng đủ lâu khơng tìm thấy pipeline tốt cho tập liệu bạn - Nó chí khơng tìm thấy đường dẫn phù hợp nào, trường hợp -RuntimeError('A pipeline has not yet been optimized Please call fit() first.') - Thông thường để tìm kiếm kỹ lưỡng pipeline phải chạy song song nhiều phiên TPOT thời gian dài Auto-Sklearn - Được xây dựng giống với scikit-learn nên dễ sử dụng - Tìm kiếm thuật tốn sau chạy, thiết lập chọn pipeline tối ưu cho cho liệu máy học tối ưu hóa hyperparameters - Có sẵn hàm hỗ trợ đánh giá thuật tốn tìm kiếm - Có thể điều chỉnh tham số options để chạy phù hợp - Thời gian tìm kiếm tập liệu nhỏ tương đối nhanh - Đối với tập liệu lớn để tìm pipeline tốt thời gian chạy phải đủ lớn (có thể lên tới hàng giờ, chí ngày) - Nếu chạy khơng đủ lâu khơng tìm thấy pipeline tốt cho tập liệu H2O - Cung cấp giao diện dễ dàng sử dụng để tìm kiếm pipeline - Tự động hóa quy trình học máy, bao gồm đào tạo điều chỉnh tự động nhiều mơ hình giới hạn thời gian người dùng định - Các giải thích tạo tự động lệnh gọi hàm nhất, cung cấp giao diện đơn giản để khám phá giải thích mơ hình AutoML - Được thiết kế để có tham số tốt cho tất người dùng cần làm trỏ đến tập liệu họ, xác định cột phản hồi tùy ý định giới hạn giới hạn thời gian tổng số mơ hình đào tạo - Thời gian tìm kiếm tập liệu nhỏ tương đối nhanh - Đối với tập liệu lớn để tìm pipeline tốt thời gian chạy phải đủ lớn (có thể lên tới hàng giờ, chí ngày) - Nếu chạy khơng đủ lâu khơng tìm thấy pipeline tốt cho tập liệu Auto-PyTorch Cung cấp giao diện dễ dàng sử dụng để tìm kiếm pipeline Thời gian tìm kiếm tập liệu nhỏ tương đối nhanh Có thể điều chỉnh tham số options để chạy phù hợp Có sẵn hàm hỗ trợ đánh giá thuật tốn tìm kiếm Đối với tập liệu lớn để tìm pipeline tốt thời gian chạy phải đủ lớn (có thể lên tới hàng giờ, chí ngày) Nếu chạy khơng đủ lâu khơng tìm thấy pipeline tốt cho tập liệu AutoKeras Hỗ trợ số tác vụ với giao diện đơn giản để tìm kiếm mơ hình phù hợp Tìm kiếm cấu hình chi tiết tốt cho bạn Đối với tập liệu lớn để tìm pipeline tốt thời gian chạy phải đủ lớn (có thể lên tới hàng giờ, chí ngày) THÍ NGHIỆM 4.1 Tiến hành thí nghiệm Tơi sử dụng liệu làm phương pháp trên, thống thơng số thí nghiệm tồn AutoML Framework Framework dùng cho việc thí nghiệm Deep Learning + Sử dụng liệu tập train + validation chiếm tổng 80% liệu tập test chiếm 20% liệu ban đầu + Sử dụng k-fold cross validation với k = 10, số lần lặp 30 lần với giá trị myseed từ 12345 đến 12374 Trong q trình thí nghiệm, tơi thực nhiều lần với tiêu chí tối ưu mơ hình thơng số RMSE 4.2 Kết thí nghiệm Với việc sử dụng thơng số thí nghiệm thống giúp cho việc so sánh kết thí nghiệm trở nên xác trực quan Kết thí nghiệm thống kê thành bảng liệu theo AutoML Framework DeepLearning Framework cụ thể, với số lần lặp 30 lần Kết thể thông số độ đo CV, độ đo lấy từ q trình huấn luyện mơ hình tập train+validation Bên cạnh đó, qua q trình kiểm nghiệm mơ hình tập test, thơng số liệu RMSE, MAE, MPE, MAPE (các độ đo test) thể trực quan lần lặp thí nghiệm ĐÁNH GIÁ KẾT QUẢ 5.1 So sánh tần suất thuật toán AutoML framework lựa chọn Đối với AutoML frameworks khác thuật toán sử dụng khác nhau, thí nghiệm dùng AutoML framework Tpot, H2O Auto SKLearn Đối với Tpot Framework, dựa kết thí nghiệm ta thấy thuật tốn Random Forest Extra Trees có số tần suất sử dụng nhiều với 10 lần Các thuật toán khác sử dụng với tần suất với thơng số XGB (7 lần) sử dụng, LassoLarsCV (2 lần) Adaboost (1 lần) (tham khảo số liệu bảng thống kê) Đối với H2O framework, thuật toán sử dụng tiến hành thí nghiệm, thuật tốn Stacked Ensemble sử dụng với tần suất vượt trội 14 lần Các thuật tốn khác sử dụng hơn: Xgboost (6 lần), GBM (6 lần), DRF (4 lần) (tham khảo số liệu thống kê) Đối với Auto SK-Learn framework, theo số liệu thí nghiệm, thuật tốn ExtraTrees sử dụng nhiều với tần suất sử dụng 27 lần Các thuật tốn khác sử dụng với tần suất lần với thuật toán GradientBoosting lần với GaussianProcess (tham khảo số liệu bảng thống kê) 5.2 Pipeline/hyperparameters thuật toán ”tốt nhất” 5.2.1 TPOT -Đối với TPOT đánh giá kết kiểm định giả thuyết với độ tin cậy 95% để định xem pipeline/hyperparameters thuật tốn tốt Trường hợp 1: Tơi so sánh testscore ExtraTreesRegressor RandomForestRegressor Giả định testscore1 testscore ExtraTreesRegressor testscore2 testscore RandomForestRegressor H0: giá trị trung bình testscore1= testscore2 H2: giá trị trung bình testscore2 > testscore1 Chúng ta thấy test có phần theo phân bố chuẩn p-value > 0.05 Bây giờ, ta kiểm định giả thuyết: Như p-value < 0.05 bác bỏ giả thuyết H0 kết luận RandomForestRegressor pipeline tốt ExtraTreesRegressor Trường hợp 2: Tôi so sánh testscore RandomForestRegressor XGBRegressor Giả định testscore1 testscore RandomForestRegressor testscore2 testscore XGBRegressor H0: giá trị trung bình testscore1= testscore2 H2: giá trị trung bình testscore2 > testscore1 Như p-value > 0.05 có bác bỏ giả thuyết H0 Như TPOT Tôi thấy RandomForestRegressor XGBRegressor 2pipeline tốt Về phần so sánh giá trị validation score test score pipeline xem mục 5.3.1 5.2.2 H2O Đối với H2O thấy pipeline Stackedensemble xuất nhiều (14 lần) nên sử dụng pipeline để đánh giá xem xét có tốt hay khơng Dữ liệu phần test score pipeline tuân theo phân bố chuẩn dựa vào giá trị p-value chạy thử nghiệm hình bên Khoảng tin cậy liệu từ khoảng [276.8, 310.8] khoảng liệu tin cậy liệu Một vài thông số khác như: max, min, giá trị trung bình (mean), phương sai (std) … Cuối phần đánh giá so sánh giá trị validation score test score xem mục 5.3.2 Nhìn chung pipeline tốt 10 5.2.3 Auto-Sklearn Đối với Auto-Sklearn thấy pipeline Extra-Trees xuất nhiều (28 lần) nên sử dụng pipeline để đánh giá xem xét có tốt hay khơng Dữ liệu phần test score pipeline tuân theo phân bố chuẩn dựa vào giá trị p-value chạy thử nghiệm hình bên Khoảng tin cậy liệu từ khoảng [255.5, 291.5] hình Một vài thơng số khác như: max, min, giá trị trung bình (mean), phương sai (std) * Về deep learning 5.2.4 AutoKeras Vì framework khơng cho pipeline nên tơi khơng đánh giá, xem phần kết thực nghiệm phần 4.1 4.2 5.2.5 AutoPyTorch Đối với Auto-Sklearn thấy pipeline Extra-Trees xuất nhiều (28 lần) nên sử dụng pipeline để đánh giá xem xét có tốt hay khơng Dữ liệu phần test score pipeline tuân theo phân bố chuẩn dựa vào giá trị p-value chạy thử nghiệm hình bên Khoảng tin cậy liệu từ khoảng [260, 296.4] hình 11 5.3 So sánh validation score test score top pipeline * Đối với machine learning 5.3.1 TPOT Kết validation score test score top pipeline sau 30 lần lặp thu biểu đồ bên ExtraTreesRegressor Giá trị validation score dao động từ khoảng 260 đến 310 Giá trị test score dao động từ khoảng 220 đến 320 RandomForestRegressor Giá trị validation score dao động từ khoảng 280 đến 330 Giá trị test score dao động từ khoảng 290 đến 450 XGBRegressor Giá trị validation score dao động từ khoảng 260 đến 310 Giá trị test score dao động từ khoảng 250 đến 380 12 5.3.2 H20 Sau 30 lần lặp kết từ thực nghiệm thu pipeline stackedensemble xuất 14 lần kết nên lấy stackedensemble để so sánh giá trị validation score test score cịn pipeline khác tơi khơng xem xét đến đánh giá Stackedensemble Giá trị validation score dao động từ khoảng 100 đến 220 Giá trị test score dao động từ khoảng 230 đến 380 5.3.3 Auto SK-Learn Sau thực nghiệm 30 lần chạy, kết pipeline chiếm chủ đạo extra_trees (27/30 lần chạy) Vì tơi tiếp tục đánh giá giá trị validation score test score extra_trees, cịn pipeline khác Tơi khơng xét đến đánh giá Extra-trees Giá trị validation score dao động từ khoảng 132 đến 205 Giá trị test score dao động từ khoảng 196 đến 395 13 * Đối với deep learning 5.3.4 Auto Pytorch Sau 30 lần chạy thấy pipeline ET_Learner xuất nhiều (27/30) lần Vì tơi tiếp tục đánh giá giá trị test score ET_Learner, cịn pipeline khác tơi không xét đến đánh giá Giá trị test score dao động từ khoảng 205 đến 400 5.3.5 Auto Keras Sau 30 lần chạy định đánh giá tổng quan framework sau 30 lần chạy Đối với framework sử dụng giá trị testscore để đánh giá Giá trị test score dao động từ khoảng 220 đến 430 14 5.4 Tùy chọn: Nếu sử dụng thêm biến phase predictor độ xác dự đốn có tăng lên khơng? 5.4.1 AutoML Framework: a TPOT Tôi xem xét trường hợp vịng lặp có kết bên Khi khơng có biến phase Test score: 245.25 Validation score: 311.75 Model: XGBRegressor Khi có biến thêm biến phase Test score: 232.92 Validation score: 297.45 Model: RandomForestRegressor Khi thêm biến phase predictor, thu kết biểu đồ Việc sử dụng thêm biến phase làm thay đổi thuật toán tốt thay đổi kết Test score Validation score Điểm số Test score có giảm nhẹ, nhiên điểm số Validation score giảm rõ rệt Do trường hợp này, việc thêm biến phase làm giảm độ xác b H2O - Với AutoML: Khi khơng có biến phase Test score: 332.3 Validation score: 187.35 Model: Stacked Ensemble Khi có biến thêm biến phase Test score: 331.37 Validation score: 170.54 Model: Stacked Ensemble 15 Khi thêm biến phase predictor, thu kết biểu đồ Việc sử dụng thêm biến phase làm thay đổi thuật toán tốt thay đổi kết Test score Validation score Điểm số Test score gần không đổi, nhiên điểm số Validation score giảm có giảm nhẹt Do trường hợp này, việc thêm biến phase làm giảm độ xác chương trình c Auto SK-Learn Tơi xem xét trường hợp vịng lặp có kết bên Khi khơng có biến phase Test score: 245.17 Validation score: 39.24 Model: extra_tree Khi có biến thêm biến phase Test score: 295.31 Validation score: 92.48 Model: gradient_boosting Các thơng số thuật tốn, điểm Test score, Validation score thay đổi tốt lên rõ rệt Chúng ta thấy thêm biến phase vào giá trị test sample gần trục tuyến tính Vì trường hợp này, thêm biến phase vào predictor độ xác tăng lên 16 5.4.2 Với Deep Learning: a Auto PyTorch Khi biến phase Test score: 244.77 Model: ETLearner Khi có biến thêm biến phase Test score: 224.56 Model: ETLearner Thuật tốn lựa chọn khơng bị ảnh hưởng điểm Test score tăng lên xét thêm biến phase Chúng ta thấy giá trị test sample gần trục tuyến tính Vì trường hợp này, thêm biến phase vào predictor độ xác tăng lên b Auto Keras Khi khơng có biến phase Test score: 347.76 Validation score: 255.87 Khi có biến thêm biến phase Test score: 348.72 Validation score: 265.16 Việc sử dụng thêm biến phase, kết Test score Validation score khơng thay đổi Hình dáng biểu đồ khó nhận khác biệt Do trường hợp này, việc thêm biến phase làm không làm ảnh hưởng kết 17 c H2O Khi biến phase Test score: 403.92 Validation score: 373.05 Model: Deep Learning Khi có biến thêm biến phase Test score: 413.83 Validation score: 336.47 Model: Deep Learning Khi thêm biến phase predictor, thu kết biểu đồ Việc sử dụng thêm biến phase làm thay đổi thuật toán tốt thay đổi kết Test score Validation score Điểm số Test score có giảm nhẹ, nhiên điểm số Validation score giảm rõrệt Do trường hợp này, việc thêm biến phase làm giảm độ xác KẾT LUẬN Trong báo cáo này, sử dụng số framework AutoML, Deep learning để huấn luyện đưa dự đoán cho liệu ứng xuất phát sinh hợp kim entropy cao Kết thu tốt liệu thu có giá trị cho nghiên cứu so sánh với cácthực nghiệm sau Từ tơi đưa nhận định so sánh cách chi tiết Tôi xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO TPOT documentation AutoML H2O documentation DeepLearning H2O documentation Auto SK-Learn documentation [1904.12054] Benchmark and Survey of Automated Machine Learning Frameworks (arxiv.org) AutoKeras Structured Data Regression - AutoKeras automl/Auto-PyTorch: Automatic architecture search and hyperparameter optimization for PyTorch (github.com) TPOT (epistasislab.github.io) 10 yeucau2022.pdf (vnu.edu.vn) 18 19