Đây là những kinh nghiệm mình đúc kết được trong quá trình đọc và viết bài báo.
Quá trình tìm và đọc báo
1
2
3
4
5
Đối với việc đọc bài báo, cái đầu tiên mình cần xác định được keyword, cái này rất quan trọng vì nếu không có keyword thực sự không thể tìm kiếm được cái bài báo liên quan.
+ Một ví dụ, nếu tôi cần viết một bài báo về “ Áp dụng FL kết hợp với các mô hình AI để phát hiện mã độc trong IoT”, lúc này mình sẽ có một số các keyword sau: AI for detection malware, FL detection malware, IoT network, AI model for abnormal traffic,...
+ Từ đó, chúng ta sẽ tìm kiếm các bài báo liên quan đến với những keyword trên scholar google, việc tải file cần được lưu trữ với tên và năm xuất bản (thời gian khoảng 4 năm gần nhất đến thời điểm hiện tại). Nên tách nhỏ các sub folder cho từng category phù hợp. Để viết một bài, mình cần đọc qua ít nhất 30 bài báo và tập trung vào khoảng 10 bài báo có sự liên quan nhất đến mình.
Cách thức tổ chức folder, sub folder quan trọng trong quá trình quản lý các bài báo đọc và tham khảo sau này.
Quá trình lên phác thảo tổng quan cho bài báo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dựa vào các từ khóa chính dự kiến, tôi sẽ bắt đầu xác định tên của bài báo. Tên bài báo khá quan trọng, vì chúng ta phải dựa vào đó để viết các nội dung tiếp theo của bài báo.
Cấu trúc bài báo quen thuộc gồm một số nội dung: Abstract, Keywords, Introduce, Related works, Proposed model, Experiment, Discusion and Conclusion.
Một ví dụ, chẳng hạn bài viết của mình sẽ tập trung vào FL, malware detection, abnormal traffic, IoT network thì mình sẽ trình bày như sau:
+ Phần introduction mình sẽ trình bày những nội dung sau: Tổng quan về Malware in IoT networks (tính cấp thiết của đề tài), Do tính chất private data → FL, Giới thiệu FL và ứng dụng, cuối đoạn này mình sẽ trình mình sẽ có đóng góp gì cho bài báo (cái này phải liệt kê rõ - kết quả dự kiến có của quá trình thực nghiệm, cái này càng rõ sẽ giúp ích rất nhiều cho phần trình bày ở chỗ kết quả)
+ Phần Related work mình sẽ trình bày với một số nộ dung sau: AI model trong quá trình phát hiện mã độc trong IoT, FL trong malware detection và có thể FL for IoT malware.
+ Phần proposed model, trong phần này mình có thể trình về quá trình làm chính của thực nghiệm, có thể là tiền xử lý dữ liệu, trích xuất dữ liệu, mô hình sử dụng trong bài như FL và các thuật toán được triển khai trong bài. Trong này cần lưu ý: các hình ảnh thể hiện luồng thực hiện chính của bài báo, các hình thể hiện cơ chế từng thuật toán, và các công thức toán liên quan. Giải thích cơ chế hoạt động của tổng quan mô hình.
+ Phần Experiment trình bày chi tiết quá trình thực nghiệm, từ quá trình phân chia dữ liệu, thực nghiệm chạy ở đâu, các kết quả nó sẽ như thế nào? (nên follow theo chỗ đóng góp đã nói với mục introduction). Với mỗi hình ảnh kết quả, cần phải có 3 thông tin sau: Mô tả, diễn giải và giải thích.
+ Phần Conclusion: trình bày kết luận của bài báo, nhắc lại các đóng góp, và cách thực hiện của mình trong bài báo. Và nhớ nêu thêm công việc ở tương lai.
Việc lên phác thảo tốt sẽ làm cho quá trình chuẩn bị để triển khai cài đặt và viết báo sẽ đạt hiệu quả hơn rất nhiều.
Cách viết ở từng phần như thế nào?
1
2
3
4
5
6
7
8
9
10
Đầu tiên, chúng ta có thể viết trước phần related work, nên tham khảo phần phác thảo tổng quan để viết. Khi đã xác định được khoảng 10 bài báo quan trọng liên quan mật thiết đến nội dung mình sẽ viết thì cần đọc qua các mục related work và introduce của các bài báo đó. Ban đầu tham khảo cách diễn đạt văn của họ, mình sẽ bắt chước cách viết của họ và phải paraphase theo cách diễn đạt của mình. Trong quá trình viết related work phải đi sâu đến các bài mà họ đã ref và “copy” phần conclusion và abstract của bài đó để diễn đạt cho phần related work của mình. Cần note lại thứ tự ref để sau này sẽ viết cho phần references.
Tiếp theo, mình có thể viết đoạn introduce, tương tự mình sẽ cần note sẵn các bài quan trọng liên quan trực tiếp đến vấn đề mình sẽ trình bày. Tham khảo các mục introduce, abstract và conclusion của các bài đó để viết lại theo diễn đạt của mình, đó cũng là một cách tiếp cận khi mình bí ý tưởng để viết.
Tiếp theo, mình có thể viết đoạn introduce, tương tự mình sẽ cần note sẵn các bài quan trọng liên quan trực tiếp đến vấn đề mình sẽ trình bày. Tham khảo các mục introduce, abstract và conclusion của các bài đó để viết lại theo diễn đạt của mình, đó cũng là một cách tiếp cận khi mình bí ý tưởng để viết.
Phần experiment thì mình sẽ giới thiệu chi tiết quá trình chuẩn bị làm thực nghiệm, từ thiết bị thực nghiệm, dữ liệu thực nghiệm, mô hình thực hình, kết quả từ mô hình đó như thế nào? (nên follow ở ở đóng góp ở introduction), Mỗi kết quả cần phải có “mô tả - diễn giải - giải thích lý do”. Nếu có thể hãy so sánh các kết quả với nhau, giữa các mô hình mình thực hiện trong bài với nhau hoặc với các mô hình của bài báo khác.
Phần conclusion thì mình ghi lại những đóng góp của mình trong bài báo, ưu nhược điểm và công việc tương lai mình sẽ thực hiện nó như thế nào?
Một số lưu ý thông qua những lỗi lầm của cá nhân
1
2
3
4
5
6
7
8
9
10
Màu sắc của hình vẽ phải sáng và dễ nhìn nếu nó ở dạng trắng đen
Các ghi chú nên dùng màu sắc và ký hiệu khác nhau, nếu có thể hãy nghĩ đến trường hợp là không có màu có nhìn thấy được không?
Trong quá trình làm, giữa chữ detect hoặc classification phải rõ ràng và thống nhất. Hoặc nếu bài tập trung ở phân lớp nhị phân hoặc đa phân lớp.
Lời khuyên:
cứ đọc nhiều paper + với khi viết phải luôn nhớ "người ta muốn đọc cái gì ta?". Nếu mình là người đọc thì mình sẽ muốn gì ta?
Giải thích chi tiết các ký hiệu và công thức ở các hình vẽ.
Viết theo luồng logic, mạch lạc, không COPY và CẮT KHÚC từng phần.
Một số trải nghiệm bản thân trong quá trình cài đặt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Đối với việc tiền xử lý dữ liệu
Thường thì chúng ta cần phải thực hiện thực một số task vụ sau:
*Label Encoding (một số kỹ thuật có thể quan tâm như Onehot encoding, ordinal encoding, similarity encoding, entity embedding
và multi-hot encoding.
*Normalization and Standardization (có thể sử dụng công thức của x_normalize hoặc hàm z-score)
*Feature selection (một số kỹ thuật có thể quan tâm như PCA, hoặc MI (mutual information, hoặc ANOVA (analysis of variance)
Ngoài ra có thể quan tâm đến các thuật toán của Metaheuristic (GA, PSO) để cho việc feature selection.
Các thuật toán của metaheuristic có thể dùng cho việc xác định các hyperparameter cho các mô hình deep learning.
Đối với phần cài đặt mô hình
*Thường thì liên quan đến bài toán classification và predictive model, có thể dữ liệu dạng time series(có thể các bài toán phân cụm)
*Các thuật toán liên quan đến deep learing (CNN, AE và các biến thể, RNN và biến thể như LSTM, GRU, biLSTM)
*Liên quan đến GNN (classification node hoặc link hoặc cho từng graph tương ứng)
Trong trường hợp này cần phải bổ sung quá trình biểu diễn dữ liệu dạng graph.
*Ngoài ra, chúng ta có thể triển khai cài đặt dạng FL (federated learning)
Tài liệu tham khảo
Internet
Hết.