intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Một số giải pháp cải tiến nhằm tăng tốc độ thuật toán mạng nơron som

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:6

49
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mạng nơron SOM được ứng dụng chủ yếu trong các bài toán phân cụm dữ liệu. Tuy nhiên, tập dữ liệu vào cho những bài toán này thường rất lớn ảnh hứớng tới thời gian tính toán. Bài báo này trình bày hai giải pháp để cải thiện thời gian tính toán của mạng gồm: thu hẹp phạm vi tìm kiếm nơron chiến thắng và xử lý dữ liệu song song dựa trên kiến trúc mạng phân tầng. Đồng thời trình bày kết quả cài đặt thử nghiệm và đánh giá hiệu quả của mỗi giải pháp.

Chủ đề:
Lưu

Nội dung Text: Một số giải pháp cải tiến nhằm tăng tốc độ thuật toán mạng nơron som

Lê Anh Tú và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 116 (02): 79 - 84<br /> <br /> MỘT SỐ GIẢI PHÁP CẢI TIẾN<br /> NHẰM TĂNG TỐC ĐỘ THUẬT TOÁN MẠNG NƠRON SOM<br /> Lê Anh Tú1*, Lê Sơn Thái1, Nguyễn Quang Hoan2<br /> <br /> 1<br /> <br /> Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên,<br /> 2<br /> Học viện Công nghệ Bưu chính Viễn thông<br /> <br /> TÓM TẮT<br /> Mạng nơron SOM đƣợc ứng dụng chủ yếu trong các bài toán phân cụm dữ liệu. Tuy nhiên, tập dữ<br /> liệu vào cho những bài toán này thƣờng rất lớn ảnh hƣớng tới thời gian tính toán. Bài báo này trình<br /> bày hai giải pháp để cải thiện thời gian tính toán của mạng gồm: thu hẹp phạm vi tìm kiếm nơron<br /> chiến thắng và xử lý dữ liệu song song dựa trên kiến trúc mạng phân tầng. Đồng thời trình bày kết<br /> quả cài đặt thử nghiệm và đánh giá hiệu quả của mỗi giải pháp.<br /> Từ khóa: SOM, Kohonen, BMU, phân tầng, phân cụm dữ liệu<br /> <br /> GIỚI THIỆU*<br /> Mạng nơron SOM đƣợc Teuvo Kohonen phát<br /> triển vào những năm 80 [1]. Đây là một công<br /> cụ thích hợp để giải bài toán phân cụm dữ<br /> liệu, một bƣớc tiền xử lý quan trọng trong<br /> khai phá dữ liệu [2]. Khi áp dụng mạng nơron<br /> SOM để phân cụm dữ liệu, cần thực hiện theo<br /> 3 giai đoạn:<br /> Giai đoạn 1: Huấn luyện mạng bằng tập dữ<br /> liệu mẫu. Trong trƣờng hợp tập dữ liệu huấn<br /> luyện chƣa đủ lớn thì quá trình huấn luyện có<br /> thể đƣợc lặp lại nhiều lần với cùng một tập<br /> mẫu cho tới khi mạng đạt trạng thái cân bằng.<br /> Giai đoạn 2: Phân cụm nơron (thƣờng sử<br /> dụng thuật toán tích tụ [10]) hoặc trực quan<br /> mạng để quan sát [11].<br /> Giai đoạn 3: Áp dụng mạng đã huấn luyện để<br /> phân cụm (với mỗi phần tử trong tập dữ liệu<br /> cần phân cụm, tìm trên ma trận Kohonen<br /> nơron có đặc trƣng khớp nhất và gán nhãn<br /> phần tử vào nơron này).<br /> Tuy nhiên, thuật toán SOM đòi hỏi thời gian<br /> tính toán lớn (cả thời gian huấn luyện và áp<br /> dụng mạng đã huấn luyện) vì một số lý do sau:<br /> Thứ nhất, tập dữ liệu huấn luyện hoặc số lần<br /> huấn luyện phải đủ lớn để mạng đạt đƣợc<br /> trạng thái cân bằng.<br /> Thứ hai, dữ liệu đƣợc đƣa vào mạng một cách<br /> tuần tự, sau đó với mỗi phần tử dữ liệu đƣợc<br /> *<br /> <br /> Tel: 0989 199088, Email: latu@ictu.edu.vn<br /> <br /> đƣa vào lại phải tìm kiếm tuần tự trên toàn bộ<br /> ma trận Kohonen để xác định nơron chiến<br /> thắng (BMU-Best Matching Unit).<br /> Thứ ba, trong các bài toán khai phá dữ liệu<br /> tập dữ liệu cần đánh giá thƣờng rất lớn. Do<br /> vậy kích thƣớc ma trận Kohonen phải đủ lớn<br /> để mô tả đƣợc hết đặc trƣng của dữ liệu,<br /> thƣờng là hàng nghìn nơron.<br /> Hiện tại, đã có nhiều nghiên cứu về vấn đề<br /> này, chẳng hạn: thuật toán Batch SOM [3]<br /> tăng tốc độ huấn luyện bằng cách chỉ cập nhật<br /> trọng số của các nơron vào cuối quá trình<br /> huấn luyện (sau khi duyệt hết các mẫu huấn<br /> luyện); Tree-Structured SOM (TS-SOM) [5]<br /> là một cấu trúc huấn luyện và tìm kiếm BMU<br /> dạng cây, trong đó mỗi nút trên cây là một<br /> nơron. Số lƣợng nút con của mỗi nút bằng<br /> nhau và tăng theo hàm mũ. Các nút cùng cấp<br /> tạo thành một lớp (layer), lớp trên đƣợc dùng<br /> để huấn luyện lớp dƣới. Ví dụ, lớp đầu tiên có<br /> 4 nút (nơron), mỗi nút có 4 nút con, vậy lớp<br /> thứ hai có 16 nút, lớp thứ 3 có 64 nút,... nhƣ<br /> vậy thời gian huấn luyện nhanh hơn do việc<br /> tìm BMU tại mỗi bƣớc huấn luyện đƣợc thực<br /> hiện theo các nhánh của cây. Tuy nhiên cấu<br /> trúc này vẫn còn nhiều hạn chế do dữ liệu vẫn<br /> đƣợc đƣa vào và xử lý trong mạng một cách<br /> tuần tự. Mô hình mạng nơron SOM phân tầng<br /> (Hierarchical SOMs - HSOM) [4] với tƣ<br /> tƣởng kết hợp chia dữ liệu (chia tập dữ liệu<br /> thành nhiều tập con) và chia mạng (chia ma<br /> trận Kohonen thành nhiều nhóm nhỏ các<br /> 79<br /> <br /> Lê Anh Tú và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> nơron, mỗi nhóm nhỏ này đƣợc coi nhƣ một<br /> mạng con) nhằm giảm thời gian tìm kiếm<br /> BMU và xử lý dữ liệu một cách đồng thời.<br /> HSOM có hai dạng chính: dạng thứ nhất,<br /> ngay từ đầu dữ liệu đƣợc chia thành nhiều tập<br /> con để huấn luyện trên nhiều mạng sau đó<br /> tổng hợp các kết quả huấn luyện vào một bản<br /> đồ đặc trƣng chung; dạng thứ hai, tập dữ liệu<br /> sẽ đƣợc phân nhánh dần trong quá trình huấn<br /> luyện do đó hình thành một cấu trúc hình cây,<br /> với mỗi nút có thể là một nơron hoặc là một<br /> mạng Kohonen và đặc trƣng của dữ liệu sẽ<br /> đƣợc biểu diễn trên các nút lá. HSOM là một<br /> cấu trúc phức tạp do có rất nhiều cách khác<br /> nhau để thực hiện chia dữ liệu và chia mạng.<br /> Costa đƣa ra một cấu trúc cây phân tầng biểu<br /> diễn các cụm dữ liệu, trong đó mỗi nút của<br /> cây là một bản đồ Kohonen [6]. Tại mỗi nút,<br /> mạng vẫn đƣợc huấn luyện đầy đủ nhƣ SOM<br /> gốc, sau đó xây dựng ma trận trực quan UMatrix [10] và sử dụng thông tin này để hình<br /> thành các nút con. Mặc dù giải pháp này đƣợc<br /> cho là không hiệu quả vì thực chất tại nút gốc<br /> của cây đã thực hiện xong việc huấn luyện và<br /> U-Matrix của nút gốc hoàn toàn trực quan<br /> đƣợc toàn bộ dữ liệu. Nhƣng phân tích dữ<br /> liệu (chia dữ liệu) theo cấu trúc cây là một ý<br /> tƣởng phù hợp để cài đặt chƣơng trình xử lý<br /> song song.<br /> Sau khi nghiên cứu mô hình SOM gốc và một<br /> số mô hình cải tiến khác của SOM, chúng tôi<br /> nhận thấy có hai vấn đề cần cân nhắc để cải<br /> thiện tốc độ tính toán của mạng. Một là giảm<br /> thời gian tìm kiếm BMU bằng cách thu hẹp<br /> phạm vi tìm kiếm hoặc giảm kích thƣớc ma<br /> trận Kohonen. Hai là kết hợp chia dữ liệu<br /> (data-partition) và chia mạng (networkpartition) để xử lý song song.<br /> Bài báo này trình bày ý tƣởng của hai giải<br /> pháp: thu hẹp phạm vi tìm kiếm BMU [7]<br /> đƣợc đề xuất bởi Teuvo Kohonen và kiến trúc<br /> mạng phân tầng HSOM phân chia theo nhóm<br /> nơron dựa trên ngƣỡng phân ly [8] do chính<br /> nhóm tác giả đề xuất. Đồng thời trình bày các<br /> kết quả cài đặt thực nghiệm của hai giải pháp<br /> trên. Các phần còn lại của bài báo gồm: phần<br /> 80<br /> <br /> 116 (02): 79 - 84<br /> <br /> 2 trình bày thuật toán huấn luyện SOM gốc,<br /> phần 3 trình bày giải pháp thu hẹp phạm vi<br /> tìm kiếm BMU, phần 4 mô tả kiến trúc mạng<br /> phân tầng và cuối cùng đƣa ra một số kết luận<br /> về các nội dung đã trình bày.<br /> THUẬT TOÁN HỌC CỦA SOM [1]<br /> Mạng nơron SOM gồm lớp tín hiệu vào và<br /> lớp ra Kohonen. Lớp Kohonen thƣờng đƣợc<br /> tổ chức dƣới dạng một ma trận 2 chiều các<br /> nơron. Mỗi đơn vị i (nơron) trong lớp<br /> Kohonen đƣợc gắn một vector trọng số wi=<br /> [wi1, wi2, …,win], với n là kích thƣớc vector<br /> đầu vào; wij là trọng số của nơron i ứng với<br /> đầu vào j). Quá trình huấn luyện mạng đƣợc<br /> lặp nhiều lần cho tới khi thỏa mãn điều kiện<br /> dừng (có thể căn cứ trên số lần lặp, số mẫu<br /> học, hay độ cân bằng của mạng). Tại lần lặp<br /> thứ t thực hiện 3 bƣớc:<br /> Bƣớc 1- tìm BMU: chọn ngẫu nhiên một đầu<br /> vào v từ tập dữ liệu, duyệt ma trận Kohonen<br /> tìm nơron b có hàm khoảng cách dist nhỏ nhất<br /> (thƣờng dùng hàm Euclidian). Nơron b đƣợc<br /> gọi là BMU.<br /> dist || v  w b || min || v  w i ||<br /> <br /> (1)<br /> <br /> i<br /> <br /> Bƣớc 2- xác định bán kính lân cận của BMU:<br />  t<br />  t   0 exp   là hàm nội suy bán kính<br />   <br /> (giảm dần theo số lần lặp t), với<br /> kính khởi tạo; hằng số thời gian  <br /> <br /> 0<br /> <br /> là bán<br /> <br /> K<br /> ,<br /> log 0 <br /> <br /> với K là tổng số lần lặp.<br /> Bƣớc 3- cập nhật lại trọng số của các nơron<br /> trong bán kính lân cận của BMU theo hƣớng<br /> gần hơn với vector đầu vào v:<br /> wi t 1  wi t    t  hbi t  v  wi t <br /> <br /> (2)<br /> <br />  t<br />   <br /> <br /> Trong đó:  t   0 exp   là hàm nội suy<br /> tốc độ học, với 0 là giá trị khởi tạo của tốc<br /> độ học; hbi(t) là hàm nội suy theo thời gian<br /> học, thể hiện sự tác động của khoảng cách đối<br /> với quá trình học, đƣợc tính theo công thức<br />  || r  r ||2 <br /> hbi t   exp  b 2 i  trong đó rb và ri là vị<br /> 2 t  <br /> <br /> <br /> Lê Anh Tú và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> trí của nơron b và nơron i trong ma trận<br /> Kohonen.<br /> Trong bƣớc 1 của thuật toán, với mỗi mẫu<br /> đầu vào phải tìm kiếm trên toàn bộ ma trận<br /> Kohonen để xác định BMU. Điều này không<br /> thực sự phù hợp trong trƣờng hợp tập mẫu<br /> nhỏ, phải sử dụng lại nhiều lần để huấn luyện.<br /> Giải pháp thu hẹp phạm vi tìm kiếm BMU<br /> trong trƣờng hợp này đƣợc trình bày ở phần<br /> tiếp theo.<br /> THU HẸP PHẠM VI TÌM KIẾM BMU [7]<br /> Khi một tập mẫu đƣợc sử dụng lại nhiều lần<br /> để huấn luyện mạng thì phạm vi tìm BMU ở<br /> những lần huấn luyện sau có thể thu hẹp. Một<br /> cách tìm kiếm thông minh là chỉ tìm quanh vị<br /> trí của BMU tƣơng ứng với vector mẫu ở lần<br /> huấn luyện trƣớc đó.<br /> <br /> Hình 1. Minh họa giải pháp thu hẹp phạm vi tìm<br /> kiếm BMU<br /> <br /> Với mỗi vector mẫu đầu vào, sau khi xác định<br /> đƣợc BMU tiến hành lƣu thông tin vị trí<br /> BMU của mẫu đó. Thông tin này sẽ đƣợc sử<br /> dụng để xác định khu vực tìm kiếm BMU cho<br /> chính mẫu đó trong lần huấn luyện tiếp theo.<br /> Hình 1 minh họa việc bổ sung thêm một<br /> trƣờng Pointer để lƣu vị trí BMU. Ở lần huấn<br /> luyện sau của vector mẫu vị trí đã lƣu trữ sẽ<br /> đƣợc kiểm tra trƣớc, sau đó mới kiểm tra các<br /> vị trí xung quanh.<br /> Chúng tôi đã tiến hành cài đặt, thử nghiệm<br /> giải pháp thu hẹp phạm vi tìm kiếm BMU để<br /> so sánh kết quả với thuật toán SOM gốc. Với<br /> dữ liệu vào ảnh số, mạng đƣợc thiết kế có 3<br /> đầu vào tƣơng ứng với 3 màu R, G, B của<br /> mỗi điểm ảnh, ma trận Kohonen vuông<br /> 30x30, giá trị phạm vi tìm kiếm đƣợc thiết lập<br /> bằng giá trị bán kính lân cận. Hình 2 trình bày<br /> kết quả thử nghiệm với cùng một ảnh mẫu<br /> kích thƣớc 141x140, thực hiện huấn luyện<br /> <br /> 116 (02): 79 - 84<br /> <br /> mạng với số lần lặp lại tập mẫu khác nhau.<br /> Nếu sử dụng tập mẫu 1 lần thì giải pháp cải<br /> tiến lâu hơn thuật toán gốc do phải tổ chức dữ<br /> liệu để lƣu trƣờng Pointer (giá trị khác biệt<br /> tƣơng đối nhỏ). Nhƣng khi số lần sử dụng tập<br /> mẫu càng tăng thì thời gian huấn luyện mạng<br /> càng giảm do vị trí tìm kiếm BMU đƣợc xác<br /> định theo trƣờng Pointer và chỉ trong phạm vi<br /> bằng bán kính lân cận tại thời điểm đó. Chúng<br /> tôi đã thử nghiệm trên nhiều ảnh khác nhau<br /> đều cho kết quả tƣơng tự.<br /> MÔ HÌNH HSOM SỬ DỤNG NGƢỠNG<br /> PHÂN LY<br /> Chúng tôi đề xuất một mô hình mạng HSOM<br /> phân tầng theo nhóm nơron. Mô hình mạng<br /> này xuất phát từ ý tƣởng ban đầu phân chia<br /> dữ liệu thành các cụm lớn, từ mỗi cụm lớn<br /> tiếp tục chia thành các cụm nhỏ, và từ các<br /> cụm nhỏ lại tiếp tục chia thành các cụm nhỏ<br /> hơn nữa. Trong đó, mỗi nút của cây đƣợc<br /> thiết kế là một mạng nơron SOM, cho phép<br /> phân cụm dữ liệu chi tiết dần từ nút gốc tới<br /> nút lá. Một nút cha sau khi đƣợc huấn luyện<br /> sẽ phân tập dữ liệu dùng để huấn luyện nó<br /> thành các tập con. Mỗi tập dữ liệu con lại tiếp<br /> tục đƣợc dùng để huấn luyện nút con tƣơng<br /> ứng đƣợc sinh ra. Chúng tôi đã áp dụng kỹ<br /> thuật phân nhóm nhanh các nơron ngay trong<br /> quá trình huấn luyện mạng dựa vào ngƣỡng<br /> phân ly T [9], do vậy quy trình áp dụng SOM<br /> cho bài toán phân cụm không cần thực hiện<br /> giai đoạn 2 đã nêu ở trên. Cơ sở của việc phân<br /> chia này dựa vào ngƣỡng phân ly T, với<br /> <br />   T  max || vi  v j || , trong đó<br /> i, j<br /> <br /> là giá trị<br /> <br /> giới hạn về độ phi tƣơng tự của các phần tử<br /> trong cùng một cụm, max || vi  v j || là giá trị<br /> i, j<br /> <br /> khác biệt lớn nhất giữa hai phần tử bất kỳ trên<br /> toàn tập dữ liệu.<br /> Cây sẽ tự phát triển và đƣợc huấn luyện theo<br /> từng tầng. Mỗi tầng, huấn luyện tất cả các nút<br /> lá với cùng một ngƣỡng T, tầng kế tiếp T<br /> giảm đi một giá trị , cho tới khi T= . Hình 3<br /> minh họa kiến trúc huấn luyện gồm m tầng,<br /> tầng đầu tiên đƣợc huấn luyện với ngƣỡng<br /> T  T1  max || vi  v j || , ở mỗi tầng T giảm đi<br /> i, j<br /> <br /> một giá trị<br /> <br /> cho tới khi đạt ngƣỡng .<br /> 81<br /> <br /> Lê Anh Tú và Đtg<br /> <br /> Ảnh gốc<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Số lần sử<br /> dụng tập<br /> mẫu<br /> 1<br /> 2<br /> 5<br /> 10<br /> <br /> Thuật toán SOM gốc<br /> Huấn<br /> luyện(ms)<br /> 2683.23<br /> 4965.21<br /> 10416.75<br /> 21038.49<br /> <br /> Ảnh kết quả<br /> <br /> 116 (02): 79 - 84<br /> <br /> Giải pháp thu hẹp phạm vi<br /> tìm kiếm BMU<br /> Huấn<br /> luyện(ms)<br /> <br /> Ảnh kết quả<br /> <br /> 2934.77<br /> 4394.72<br /> 9053.87<br /> 18383.06<br /> <br /> Hình 2. Thực nghiệm giải pháp thu hẹp phạm vi tìm kiếm BMU<br /> <br /> Tầng đầu tiên, tập dữ liệu ban đầu I đƣợc<br /> huấn luyện bởi Kohonen K1 có kích thƣớc<br /> (n n) và ngƣỡng phân ly là T1. Kết quả thu<br /> đƣợc k tập con của I={I1, I2,…, Ik}. Tầng thứ<br /> hai, mỗi tập con I1, I2,…, Ik đƣợc huấn luyện<br /> bởi các Kohonen con tƣơng ứng KI1, KI2,…,<br /> KIk với ngƣỡng phân ly giảm T2=T1- . Nhƣ<br /> vậy mỗi tập Ii (với i=1..k) đƣợc huấn luyện<br /> bởi KIi lại đƣợc phân thành các tập con Ii1,<br /> Ii2,… Ở các tầng tiếp theo, lặp lại việc giảm T<br /> và huấn luyện mỗi nút con bằng tập con<br /> tƣơng ứng của nó, cho tới khi T= .<br /> Kích thƣớc của các nút con sẽ giảm dần phụ<br /> thuộc vào kích thƣớc nút cha và tỉ số giữa số<br /> phần tử trong tập con dùng để huấn luyện nó<br /> với số phần tử dùng để huấn luyện nút cha.<br /> Gọi nchild là kích thƣớc nút con, ta có:<br /> nchild<br /> <br /> |I<br /> <br /> <br /> child | <br /> <br />  <br />  n parent , trong đó: |.| thể hiện<br />  | I parent | <br /> <br /> số phần tử trong một tập hợp, điều chỉnh<br /> kích thƣớc nút con không giảm quá nhiều so<br /> với nút cha (chúng tôi thử nghiệm với =0.3).<br /> Do nút gốc và các nút trung gian chỉ có vai<br /> trò định hƣớng việc phân chia dữ liệu. Nên<br /> kích thƣớc nút gốc (ma trận Kohonen K1)<br /> không cần đủ lớn để mô tả đƣợc hết đặc trƣng<br /> của tập dữ liệu. Điều này làm giảm đáng kể<br /> thời gian huấn luyện tại mỗi nút. Ngoài ra, dữ<br /> liệu đƣợc phân mảnh theo cấu trúc cây để<br /> huấn luyện song song trên các mạng Kohonen<br /> riêng biệt nên thời gian huấn luyện và áp<br /> dụng mạng sau huấn luyện nhanh hơn mô<br /> hình SOM gốc.<br /> Bảng dƣới đây trình bày kết quả thử nghiệm.<br /> Mạng SOM gốc đƣợc thiết kế tƣơng tự phần<br /> 82<br /> <br /> 3, mô hình cây phân tầng kích thƣớc Kohonen<br /> là 11x11 và T=30 (với 30
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
14=>2