Thứ Bảy, 19 tháng 3, 2016

Nghiên cứu mạng nơron nhân tạo và ứng dụng vào bài toán nhận dạng ảnh ký tự

y1 a w1 y2 yk ∑ f w2 wk b Đầu ra a = f( wy+b) Đầu vào Hình 1.2: Mô hình một nơron nhân tạo Một nơron đƣợc cầu tạo gồm các thành phần chính: liên kết nơron, bộ cộng, hàm kích hoạt. Liên kết nơron là một thành phần của mạng nơron nhận tạo để liên kết giữa các nơron, nó nối đầu ra của nơron lớp này với đầu vào của một nơron trong lớp khác. Đặc trƣng của thành phần liên kết là một trọng số mà mỗi tín hiệu đi qua đều đƣợc nhân với trọng số này. Các trọng số liên kết chính là các tham số tự do cơ bản của mạng nơron, có thể thay đổi đƣợc nhằm thích nghi với môi trƣờng xung quanh. Bộ cộng dùng để tính tổng các tín hiệu đầu vào của nơron, đã đƣợc nhân với các trọng số liên kết tƣơng ứng. Phép toán đƣợc mô tả ở đây tạo nên một bộ hợp tuyến tính. Hàm kích hoạt hay còn gọi hàm kích hoạt phi tuyến, chuyển đổi một tổ hợp tuyến tính của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Hàm kích hoạt này đảm bảo tính chất phi tuyến cho tính toán mạng nơron. Nó đƣợc xem nhƣ là một hàm giới hạn, nó giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu hạn. Mô hình nơron trong hình 2 còn bao 11 gồm một hệ số điều chỉnh b tác động từ bên ngoài. Hệ số điều chỉnh b có tác dụng tăng lên hoặc giảm đi đầu vào thực của hàm kích hoạt, tùy theo nó dƣơng hay âm. 1.1.4. Các thành phần của một nơron nhân tạo Phần này mô tả một số thành phần cơ bản của một nơron nhân tạo. Những thành phần này là giống nhau cho dù nơron đó dùng trong tầng vào, tầng ra hay là ở trong tầng ẩn. Thành phần 1. Các nhân tố trọng số: Một nơron thƣờng nhận nhiều đầu vào cùng lúc. Mỗi đầu vào có trọng số liên quan của riêng nó, trọng số này giúp cho đầu vào có ảnh hƣởng cần thiết lên hàm tổng của đơn vị xử lý (thành phần xử lý). Những trọng số này có chức năng giống nhƣ sức mạnh của các synapes khác nhau trong nơron sinh học. Trong cả hai trƣờng hợp (nhân tạo và sinh học), một số đầu vào quan trọng hơn những đầu vào khác do vậy chúng có ảnh hƣởng lớn hơn tới thành phần xử lý để rồi chúng kết hợp lại để tạo ra sự phản ứng của nơron (neural response). Các trọng số là những hệ số thích nghi bên trong một mạng, chúng xác định cƣờng độ (sức mạnh hay là sức ảnh hƣởng) của tín hiệu vào lên nơron nhân tạo. Những sức mạnh này có thể đƣợc điều chỉnh theo những tập đào tạo đa dạng khác nhau và theo một kiến trúc mạng cụ thể hay là qua các luật học của nó. Thành phần 2. Hàm tổng: Bƣớc đầu tiên trong hoạt động của một thành phần xử lý là tính toán tổng có trọng số của tất cả các đầu vào. Về mặt toán học, những đầu vào và các trọng số tƣơng ứng là những véc tơ có thể đƣợc biểu diễn I = (i1, i2, .., in) và W = (w1, w2, …, wn). Tín hiệu vào tổng là tích vô hƣớng của mỗi thành phần trong véc tơ I với thành phần tƣơng ứng trong véc tơ W và cộng lại tất cả các tích. Input1 = i1.w1, input2 = i2.w2 … 12 Cuối cùng đƣợc cộng lại: input1 + input2 + … + inputn. Kết quả là một số duy nhất, không phải là một véc tơ. Hàm tổng có thể phức tạp hơn nhiều so với mô tả ở trên. Đầu vào và các hệ số trọng số có thể đƣợc kết hợp theo nhiều cách khác nhau trƣớc khi đƣợc đƣa vào hàm chuyển đổi. Bên cạnh việc tính tổng các tích đơn giản, hàm tổng có thể chọn max, min, tích… nhờ một số thuật toán chuẩn tắc. Thuật toán cụ thể để kết hợp các đầu vào của nơron đƣợc xác định bởi việc chọn kiến trúc mạng và mô hình mạng. Thành phần 3. Hàm chuyển đổi: Kết quả của hàm tổng, hầu nhƣ luôn là tổng có trọng số, đƣợc chuyển đổi thành một đầu ra có ý nghĩa nhờ một quá trình xử lý có thuật toán gọi là hàm chuyển đổi. Trong hàm chuyển đổi tổng có thể đƣợc so sánh với một ngƣỡng nào đó để quyết định đầu ra của mạng. Nếu nhƣ tổng lớn hơn giá trị ngƣỡng thì thành phần xử lý đƣa ra đầu ra một tín hiệu. Nếu nhƣ tổng của đầu vào và các tích có trọng số nhỏ hơn ngƣỡng thì không có tín hiệu ở đầu ra. Cả hai kiểu phản ứng đều quan trọng. Giá trị ngƣỡng, còn gọi hàm chuyển đổi, thƣờng là phi tuyến. Các hàm tuyến tính bị giới hạn vì đầu ra chỉ đơn giản là tỷ lệ của đầu vào. Hàm chuyển đổi có thể chỉ đơn giản là cho biết hàm tổng là dƣơng hay âm. Mạng có thể cho ra đầu ra 0 và 1, 1 và -1, hay con số kết hợp nào đó. Thành phần 4. Hàm ra: Mỗi thành phần xử lý cho phép một tín hiệu đầu ra mà đầu ra này có thể đi tới hàng trăm nơron khác. Điều này giống với nơron sinh học trong đó có rất nhiều đầu vào và chỉ có một hành động ra. Thƣờng thì đầu ra tƣơng đƣơng với kết quả của hàm chuyển đổi. Tuy nhiên, một số kiến trúc mạng chỉnh sửa kết quả của hàm chuyển đổi để kết hợp với những thành phần xử lý lân cận. Các nơron cho phép cạnh tranh với những nơron khác, khi này chúng hạn chế các thành phần xử lý khác trừ các thành phần xử lý có sức mạnh rất lớn. Sự cạnh tranh có thể xảy ra ở một hay là cả hai mức. Đầu tiên sự cạnh tranh quyết định xem nơron nhân tạo nào sẽ là tích 13 cực, hay là cung cấp một đầu ra. Tiếp theo các đầu ra cạnh tranh giúp xác định thành phần xử lý nào sẽ tham gia và quá trình học hay là quá trình thích nghi. Thành phần 5. Giá trị truyền ngƣợc và hàm lỗi: Trong hầu hết các mạng học sự khác biệt giữa đầu ra hiện tại và đầu ra mong muốn đƣợc tính toán, sự khác biệt có thể đƣợc gọi là lỗi thô. Sau khi đƣợc tính toán, lỗi thô đó đƣợc chuyển đổi bởi hàm lỗi để làm cho phù hợp với một kiến trúc mạng cụ thể nào đó. Các kiến trúc mạng cơ sở nhất sử dụng lỗi này một cách trực tiếp nhƣng một số khác bình phƣơng lỗi đó trong khi vẫn giữ lại dấu của nó, một số tính bậc ba của lỗi, một số khác lại hiệu chỉnh lỗi thô đó để đạt đƣợc mục đích cụ thể nào đó. Lỗi của nơron nhân tạo thƣờng đƣợc truyền vào hàm học của một thành phần xử lý khác. Số hạng lỗi này đôi khi còn đƣợc gọi là lỗi hiện thời. Lỗi hiện thời thƣờng đƣợc truyền ngƣợc về một tầng trƣớc đó. Nhƣng giá trị truyền ngƣợc này có thể là lỗi hiện thời hay là lỗi hiện thời đã đƣợc điều chỉnh theo một cách nào đó (thƣờng sử dụng đạo hàm của hàm chuyển đổi), hay là một đầu ra mong muốn nào đó, điều này phụ thuộc vào kiểu mạng nơron đƣợc sử dụng. Thƣờng thì giá trị truyền ngƣợc này sau khi đƣợc điều chỉnh bởi hàm học đƣợc nhân với mỗi trọng số kết nối vào để thay đổi chúng trƣớc khi bƣớc vào chu kỳ học mới. Thành phần 6. Hàm học: Mục đích của hàm học là để thay đổi giá trị của biến trọng số kết nối ở các đầu vào của mỗi thành phần xử lý theo một thuật toán nào đó. Quá trình thay đổi các trọng số của các kết nối đầu nào nhằm thu đƣợc một số kết quả mong muốn cũng có thể đƣợc gọi là hàm thích nghi, hay còn gọi là chế độ học. Có hai kiểu học chính là học có giám sát và học không có giám sát. Học có giám sát đòi hỏi có một “giáo viên”. Ngƣời “giáo viên” này có thể là một tập dữ liệu đào tạo hay là một “ngƣời quan sát”, “ngƣời quan sát” này đánh giá kết quả hoạt động của mạng. Trong khi không 14 có “giáo viên” bên ngoài nào, hệ thống sẽ phải tự sắp xếp nhờ một tiêu chuẩn bên trong đƣợc thiết kế sẵn trong mạng. 1.1.5. Mạng nơron nhân tạo Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản (hay còn gọi là nơron) tựa nhƣ nơron thần kinh của não ngƣời, hoạt động song song và đƣợc nối với nhau bởi các liên kết nơron. Mỗi liên kết kèm theo một trọng số nào đó, đặc trƣng cho tính kích hoạt hoặc ức chế giữa các nơron. Có thể xem các trọng số là phƣơng tiện để lƣu trữ thông tin dài hạn trong mạng nơron và nhiệm vụ của quá trình huấn luyện của mạng là cập nhật các trọng số khi có thêm thông tin về mẫu học. Hay nói một cách khác, các trọng số đều đƣợc điều chỉnh sao cho dáng điệu vào ra của mạng sẽ mô phỏng hoàn toàn phù hợp với môi trƣờng đang xem xét. Mô hình mạng nơron đƣợc mô tả trong hình 1.3 Hình 1.3: Sơ đồ đơn giản về một mạng nơron nhân tạo Mô hình mạng nơron ở trên gồm 3 lớp: lớp nhập (input), lớp ẩn (hidden) và lớp xuất (output). Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng. 15 Dữ liệu từ tất cả các nút trong lớp nhập đƣợc tích hợp – ta gọi là tổng trọng số – và chuyển kết quả cho các nút trong lớp ẩn. Gọi là “ẩn” vì các nút trong lớp này chỉ liên lạc với các nút trong lớp nhập và lớp xuất, và chỉ có ngƣời thiết kế mạng mới biết lớp này (ngƣời sử dụng không biết lớp này). Các nút trong lớp xuất nhận các tín hiệu tổng trọng hóa từ các nút trong lớp ẩn. Mỗi nút trong lớp xuất tƣơng ứng với một biến phụ thuộc. 1.2. Đơn vị xử lý Một đơn vị xử lý (Hình 1.4), cũng đƣợc gọi là một nơron hay một nút (node), thực hiện một công việc rất đơn giản: nó nhận tín hiệu vào từ các đơn vị phía trƣớc hay một nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ đƣợc lan truyền sang các đơn vị khác. Hình 1.4: Đơn vị xử lý (Processing unit) Trong đó: Xj : các đầu vào wji : các trọng số tƣơng ứng với các đầu vào θj : độ lệch (bias) aj : đầu vào mạng (net-input) zj : đầu ra của nơron g(x): hàm chuyển (hàm kích hoạt). Trong một mạng nơron có ba kiểu đơn vị: 1) Các đơn vị đầu vào (Input units), nhận tín hiệu từ bên ngoài; 16

Không có nhận xét nào:

Đăng nhận xét