Chào mừng đến với BIS Đăng nhập | Đăng ký | Trợ giúp
trong Tìm kiếm

Tổng quan về Mạng Neuron (Neural Network)

Bài cuối 12-05-2016 09:15 AM của mattroibecon. 30 trả lời.
Trang 1 trong số 2 (31 nội dung) 1 2 Tiếp theo >
Sắp xếp bài viết: Trước Tiếp theo
  • 06-12-2011 04:30 PM

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Tổng quan về Mạng Neuron (Neural Network)

    Tổng quan về Mạng Neuron (Neural Network)

    Nguyễn Văn Chức – chuc.nv@due.edu.vn

    Mạng Neuron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data).

    Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…

     1. Kiến trúc tổng quát của một ANN như sau


    Processing Elements (PE): Các PE của ANN gọi là Neuron, mỗi Nueron nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (output) duy nhất. Kết quả xử lý của một Neuron có thể làm Input cho các Neuron khác

    Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden LayerOutput Layer (Xem hình trên)

    Trong đó, lớp ẩn (Hidden Layer) gồm các Neuron, nhận dữ liệu input từ các Nueron ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo. Trong một ANN có thể có nhiều Hidden Layer.

     Quá trình xử lý thông tin của một ANN


    Inputs: Mỗi Input tương ứng với 1 thuộc tính (attribute) của dữ liệu (patterns). Ví dụ như trong ứng dụng của ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay không thì mỗi Input là một thuộc tính của khách hàng như thu nhập, nghề nghiệp, tuổi, số con,…

    Output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán xem xét chấp nhận cho khách hàng vay tiền hay không thì output là yes (cho vay) hoặc no (không cho vay).

    Connection Weights (Trọng số liên kết) : Đây là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thông tin (quá trình chuyển đổi dữ liệu từ Layer này sang layer khác). Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng số (Weight) của các input data để có được kết quả mong muốn.

    Summation Function (Hàm tổng): Tính tổng trọng số của tất cả các input được đưa vào mỗi Neuron (phần tử xử lý PE). Hàm tổng của một Neuron đối với n input được tính theo công thức sau:


     Hàm tổng đối với nhiều Neurons trong cùng một Layer (Xem hình b):



     Transformation (Transfer) Function (Hàm chuyển đổi)

    Hàm tổng (Summation Function) của một Neuron cho biết khả năng kích hoạt (Activation) của neuron đó còn gọi là kích hoạt bên trong (internal activation). Các Nueron này có thể sinh ra một output hoặc không trong ANN (nói cách khác rằng có thể output của 1 Neuron có thể được chuyển đến layer tiếp trong mạng Neuron theo hoặc không). Mối quan hệ giữa Internal Activation và kết quả (output) được thể hiện bằng hàm chuyển đổi (Transfer Function).


    Việc lựa chọn Transfer Function có tác động lớn đến kết quả của ANN. Hàm chuyển đổi phi tuyến được sử dụng phổ biến trong ANN là sigmoid (logical activation) function.


    Trong đó :

    YT: Hàm chuyển đổi

    Y: Hàm tổng

    Kết quả của Sigmoid Function thuộc khoảng [0,1] nên còn gọi là hàm chuẩn hóa (Normalized Function).

    Kết quả xử lý tại các Neuron (Output) đôi khi rất lớn, vì vậy transfer function được sử dụng để xử lý output này trước khi chuyển đến layer tiếp theo. Đôi khi thay vì sử dụng Transfer Function người ta sử dụng giá trị ngưỡng (Threshold value) để kiểm soát các output của các neuron tại một layer nào đó trước khi chuyển các output này đến các Layer tiếp theo. Nếu output của một neuron nào đó nhỏ hơn Threshold thì nó sẻ không được chuyển đến Layer tiếp theo.

    Một số kiến trúc của ANN

     


     

     2. Quá trình học (Learning Processing) của ANN

    ANN được huấn luyện (Training) hay được học (Learning) theo 2 kỹ thuật cơ bản đó là học có giám sát (Supervised Learning) và học không giám sát (Unsupervised Learning).

    Supervised learning: Quá trình Training được lặp lại cho đến kết quả (output) của ANN đạt được giá trị mong muốn (Desired value) đã biết. Điển hình cho kỹ thuật này là mạng Neuron lan truyền ngược (Backpropagation).

     Unsupervised learning: Không sử dụng tri thức bên ngoài trong quá trình học (Learning), nên còn gọi là tự tổ chức (Self – Organizing). Mạng Neuron điển hình được huấn luyện theo kiểu Unsupervised là Sefl – Organizing Map (SOM).

    Sau đây là phân loại các thuật toán Learning và kiến trúc của ANN


    Nguyên tắc huấn luyện (Training protocols)

    Mạng Neuron có 3 cách huấn luyện chính đó là batch training, stochastic training on-line training. Đối với on-line training thì các trọng số của mạng (weights) được cập nhật ngay lập tức sau khi một input pattern được đưa vào mạng. Stohastic training cũng giống như on-line training nhưng việc chọn các input patterns để đưa vào mạng từ training set được thực hiện ngẫu nhiên (random). Batch training thì tất cả các input patterns được đưa vào mạng cùng lúc và sau đó cập nhật các trọng số mạng đồng thời. Ưu điểm của on-line training là tiết kiệm bộ nhớ vì không cần lưu lại số lượng lớn các input patterns trong bộ nhớ.

    Trong quá trình huấn luyện mạng, thuật ngữ “epoch” được dùng để mô tả quá trình khi tất cả các input patterns của training set được đưa để huấn luyện mạng. Nói cách khách 1 epoch được hoàn thành khi tất cả các dữ liệu trong training set được đưa vào huấn luyện mạng. Vì vậy số lượng “epoch” xác định số lần mạng được huấn luyện (hay số lần đưa tất cả các dữ liệu trong training set vào mạng).

    Bài viết này chủ yếu giới thiệu về quá trình huấn luyện ANN theo kỹ thuật Supervised learning.

    Quá trình học của Supervised ANN được mô tả như sau:

    1.Tính giá trị output .

    2. So sánh output với giá trị mong muốn (desired value).

    3. Nếu chưa đạt được giá trị mong muốn thì hiệu chỉnh trọng số (weights) và tính lại output


     Giả sử sau khi tính toán từ các input value đã cho, ta có output là Y. Giá trị mong muốn (Desired) là Z đã biết trước. Sự chênh lệch giữa Y và kết quả mong muốn Z được biểu diễn bởi tham số delta (gọi là lỗi) = Z-Y. Mục đích của việc Learning là làm sao cho delta càng nhỏ càng tốt (Nếu delta =0 là hoàn hảo nhất) bằng cách điều chỉnh trọng số (weights) của các dữ liệu vào.

     Để dễ hình dung, sau đây minh họa việc huấn luyện một ANN đơn giản gồm 1 Neuron học để thực hiện phép toán Logic OR giữa 2 input là 2 toán hạng X1 và X2. Nếu một trong 2 input là positive (1) thì kết quả là Positive. Kiến trúc ANN như sau :


     

    Các Input patterns và Desired value như sau:

    Neuron phải được huấn luyện để nhận biết các dữ liệu vào (input pattern) ở đây là một bộ gồm 2 giá trị X1 và X2 (trong ví dụ trên có 4 bộ dữ liệu ) và phân loại chúng vào các kết quả đã biết (Desired Results)

     Quá trình học được diễn ra như sau:

    4 Input patterns được lần lượt đưa vào Neuron, các trọng số ban đầu được khởi tạo ngẫu nhiên và được điều chỉnh sau mỗi vòng lặp. Bước này lặp lại cho đến khi các trọng số hội tụ đến tập các giá trị cho phép ANN phân loại chính xác 4 input patterns. Kết quả của quá trình Training ANN được minh họa bằng Excel như dưới đây (Download File Excel tại đây):

    Trong ví dụ này giá trị ngưỡng (Threshold) để đánh giá hàm tổng của các input là 0.5. Sau khi tính toán các output (Y), và sử dụng Desired Result (Z) để tính toán lỗi delta và delta được sử dụng để cập nhật trọng số của các input: delta = Zj-Yj

    Hiệu chỉnh trọng số: Wi(final) = Wi(initial) + alpha*delta*Xi

    Trong đó alpha là tham số kiểm soát tốc độ học của ANN gọi là Learning rate. Việc chọn tham số Learning rate phù hợp (làm tăng độ chính xác) là vấn đề rất quan trọng khi triển khai ANN.

    Các công thức thực hiện trong Excel:

    Tính giá trị Output (Y) =IF((B3*E3+C3*F3)>0.5,1,0)

    Tính lỗi (delta) =D3-G3

    Cập nhật trọng số W1 =E3+0.2*H3*B3

    Cập nhật trọng số W2 =F3+0.2*C3*H3

    Trong ví dụ này, quá trình huấn luyện ANN lặp lại 4 lần thì các trọng số hội tụ và ANN phân loại chính xác các input patterns tương ứng với phép toán Logic OR.

    Trong ví dụ sau đây minh họa phân lớp dữ liệu trên tập dữ liệu weather quen thuộc sử dụng Neural Network của IBM SPSS Modeler

    Dataset Weather

    Download weather Dataset tại đây

     Triển khai Neural Network với IBM SPSS Modeler

    Kết quả phân lớp bằng Neural Network



    All comments please send to chuc.nv@due.edu.vn. Thank you and Welcome!
    • Điểm chủ đề: 275
  • 06-12-2011 06:21 PM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    thay oi! thay co the bo chut thoi gian viet ve he thong xu ly phan tich truc tuyen ko a!? ve Olap-rolap-molap do thay! em doc tai lieu nhung hieu no so xai wa! mong thay giup em! thask thay!
    • Điểm chủ đề: 35
  • 06-12-2011 08:29 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Em có thể xem bài về OLAP trong phần Kho dữ liệu tại URL sau:
    http://bis.net.vn/forums/t/450.aspx
    PS. Lần sau Post bài nhớ viết có dấu cho dễ đọc nhé.
    Thanks,
    • Điểm chủ đề: 35
  • 06-14-2011 11:27 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    dạ! em sẽ rút kinh nghiệm! ^^  em cảm ơn thầy ! ^^
    • Điểm chủ đề: 20
  • 07-02-2011 10:03 AM trả lời

    • BigRose
    • 150 thành viên năng nổ nhất
    • Tham gia 01-21-2011
    • Điểm 70

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Trong  Data mining thì ANN là kỹ thuật phức tạp và khó hiểu nhất. Bài viết thật hữu ích, bao quát về ANN nhưng rất dễ hiểu nhất là ví dụ minh họa trên Excel.
    Cảm ơn tác giả bài viết.
    PS. Diễn đàn này nếu có thêm nút Like hoặc Thanks cuối mỗi bài viết để độc giả có thể ủng hộ cho bài viết khi nó có ích.
    Thanks forum administrator
     
    • Điểm chủ đề: 35
  • 07-04-2011 09:20 AM trả lời

    • minhkt
    • 10 thành viên năng nổ nhất
      Nam
    • Tham gia 12-05-2008
    • Điểm 7,885

    Re: Tổng quan về Mạng Neuron (Neural Network)

    BigRose:
    ...
    PS. Diễn đàn này nếu có thêm nút Like hoặc Thanks cuối mỗi bài viết để độc giả có thể ủng hộ cho bài viết khi nó có ích.
    Thanks forum administrator
     
     
    Có thể ủng hộ cho bài viết bằng cách click vào mục đánh giá bài viết ở góc trên bên trái của bài viết. Kết quả đánh giá sẽ là trung bình của tất cả các lần đánh giá. Mỗi thành viên chỉ được đánh giá một lần ứng với một bài viết.
     
    • Điểm chủ đề: 20
  • 02-11-2012 09:26 PM trả lời

    • NguyenNT
    • 150 thành viên năng nổ nhất
    • Tham gia 12-30-2011
    • Điểm 70

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Chào anh, em hiện cũng đang nghiên cứu về ANN, có 2 thắc mắc mong anh giải đáp giúp:
    1. Việc lựa chọn số nơ ron ở lớp ra (output) dựa trên yếu tố nào, có phải n nơ ron lớp ra sẽ tương ứng n siêu phẳng phân để phân lớp trong không gian hay không?
    2. Tăng số nơ ron lớp ẩn lên thì có lợi ích gì?
    Cảm ơn anh nhiều!
    • Điểm chủ đề: 35
  • 02-12-2012 04:25 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    -Việc lựa chọn số Nueron ở Output class tùy thuộc vào bài toán cụ thể. Ví dụ như với bài toán phân lớp mà  thuộc tính phân lớp có n giá trị (n lớp) thì output class có n neurons. Tương tự với bài toán phân cụm, nếu ta muốn nhóm các đối tượng thành n cụm thì mỗi Neuron ở Output Class  đại diện cho một cụm.
    -Về lý thuyết thì khi tăng số Hidden layer thì độ chính xác của model càng tăng. Tuy nhiên nó cũng có những vấn đề cần quan tâm khi tăng số Hidden Layer vì sẽ làm tăng chi phí (time, CPU) để training Model.
    • Điểm chủ đề: 35
  • 03-04-2012 09:58 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    thầy ơi cho e hỏi
    ở ví dụ bằng excel trên, tại sao giá trị alpha trong công thức cập nhật trọng số lại là 0.2 vậy thầy? 
    • Điểm chủ đề: 35
  • 03-04-2012 05:14 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    alpha trong ví dụ trên là tham số điều chỉnh tốc độ học (learning rate) của model. Giá trị này ảnh hưởng rất lớn đến thời gian training cũng như hiệu quả của Model. Việc chọn giá trị learning rate thường khá phúc tạp nên Learning rate  thường được chọn bằng thực nghiệm. Trong ví dụ trên chọn learning rate = 0.2 chỉ mang tính minh họa cho quá trình Training model
    • Điểm chủ đề: 35
  • 03-05-2012 12:24 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    dạ em cảm ơn. 
    • Điểm chủ đề: 20
  • 03-05-2012 12:27 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    thầy ơi, em muốn thiết lập một mô hình có ứng dụng Neuron Network thì em nên sử dụng loại phần mềm nào cho dễ sử dụng thưa thầy?
    • Điểm chủ đề: 35
  • 03-05-2012 11:13 AM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Hiện nay Hầu hết các Data mining Tools đều triển khai kỹ thuật mạng Neuron. Em có thể sử dụng Weka để xây dựng Mining Model dựa trên Neural Network.
    Mở Weka  > Tab Classifiers > Functions > MultiLayerPerceptron
    • Điểm chủ đề: 20
  • 03-05-2012 11:23 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    dạ, em cảm ơn thầy rất nhiều. 
     
    • Điểm chủ đề: 20
  • 03-05-2012 08:52 PM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    thầy ơi, khi tạo cơ sở dữ liệu cho thuật toán, phải làm trên excel rùi sau đó lưu với đuôi .csv
    phải không ạ?
    em đã tạo như thế, nhưng khi  mở file bằng weka, thì nó hiện lên 1 thông báo là không công nhận file này, wrong number of value:
    read 13, expected 18, read token [EOL], line 3
    em đã làm lại nhiều lần nhưng không thể mở được nó.
    mong thầy giúp đỡ 
    • Điểm chủ đề: 20
  • 06-06-2012 11:28 AM trả lời

    • A_UIT
    • 500 thành viên năng nổ nhất
    • Tham gia 06-06-2012
    • Điểm 35

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Chào anh ,e muốn nghiên cứu về ANN thì nên bắt đầu từ đâu ạ? A có thể kể tên các cuốn sách về ANN được ko a ?
    • Điểm chủ đề: 35
  • 06-06-2012 12:09 PM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Trên Internet hiện nay có rất nhiều site về ANN rất bổ ích, có cả lý thuyết và hướng dẫn xây dựng các ANN rất chi tiết. Nếu mới bắt đầu thì em thử đọc các bài viết trên site này thử. http://www.cs.stir.ac.uk/~lss/NNIntro/InvSlides.html
    Chúc em thành công,
     
    • Điểm chủ đề: 35
  • 06-07-2012 03:37 PM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Em chào Thầy!
    Thầy ơi, Thầy có thể trình bày thuật toán "lan truyền ngược" trong ANN được không ạ? (có ví dụ tính toán một số bước thì càng tốt). Em cũng đã đọc sách nhưng thấy vẫn rất khó hiểu. Thanks Thầy.
    • Điểm chủ đề: 20
  • 09-25-2012 03:51 PM trả lời

    • Nhanh
    • 200 thành viên năng nổ nhất
    • Tham gia 09-25-2012
    • Điểm 20

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Chào tác giả!
    Bài viết rất hay nhưng xin nhờ tác giả chỉ giúp một bài toán ứng dụng cụ thể trong kinh tế là gì?
    Nói nhiều về lý thuyết mà ít nói về thực hành thì sinh viên chúng tôi khó hiểu quá.
    Chúc tác giả thành công.
    • Điểm chủ đề: 20
  • 09-26-2012 03:44 PM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    cảm ơn Thầy vì bài viết rất hay. Em có thắc mắc làm thế nào để mạng có thể học nhiều mẫu, giả sử như ban đầu mạng học mẫu A, khi đó ta có các trọng số tương ứng.Sau đấy mạng học mẫu B thì các trọng số trước đấy có thể bị thay đổi. Làm thế nào để mạng vẫn có thể nhận biết được mẫu A? mong được thầy và các bạn giúp đỡ
    • Điểm chủ đề: 35
  • 02-25-2013 11:22 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Thưa thầy cho em hỏi 2 vấn đề:
    1/ tại sao ban đầu phải khởi tạo ngẫu nhiên bộ tham số của mạng nơron? Ví dụ, với Logistic Regression ta có thể khởi tạo bộ tham số bằng 0 hết, nhưng điều này không áp dụng được với mạng nơron.
    2/ mạng nơron có những tham số tự do nào (nghĩa là những tham số mà ta phải chọn trước khi huấn luyện, ví dụ như số nơron trong một tầng ẩn)? Làm sao để chọn được các tham số tự do này?
    Dạ, em cảm ơn thầy. 
    Từ khóa đại diện:
    • Điểm chủ đề: 20
  • 02-27-2013 12:33 AM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Xin Chào Thầy !
    Thầy có thể giúp em giài đáp một số thắc mắc mà em chưa hiểu về mang nơ_ron  được không ạ !
    Em xin cảm ơn Thầy ..
    + Mạng nơron có thể được dùng để giải quyết những bài toán nào ? ( hồi quy hay tuyến tính) giải thích rõ giùm em lý do !
    + Hàm dự đoán của mạng nơron có dạng như thế nào ?
          - mô hình của một nơron
          - mô hình của mạng nơron
          - quá trình lan truyền tiến (forward propagation )
    + Học các tham số (hay còn gọi là trọng số) của mạng nơ_ron như thế nào ?
          - hàm chi phí J(y) của mạng nơ_ron ? ( là hàm mà ta phải cực tiểu hóa để tìm bộ tham số y của mạng          nơ_ron).
          - cực tiều hóa như thế nào ?
              *  Dùng thuật toán (batch/stochastic)gradientdescent (hoặc các thuật toán tìm cưc trị khác như
             L-BFGS,...)+thuật toán lan truyền ngược (back-propagationalgorithm.)
              * Chứng minh thuật toán lan truyền ngược (nghĩa là tại sao công thức của nó lại như vậy ? )
          - Tại sao ban đầu phải khởi tạo ngẫu nhiên bộ tham số của mạng nơ_ron ?
                ví dụ : với logistic Regression ta có thể khởi tạo bộ tham số bằng 0 hết nhưgvới mạng nơ_ron thì không ?       - Mạng nơ_ron có những tham số tự do nào ? làm sao để chon những tham số tự do này ? 
     
    +  Thầy giải thích giùm em mang nơ_ron nó có ưu điểm và nhựơc điểm gì ?  giúp em nêu ra cách khắc phục               nhựơc điểm dó ? 
     
    Em xin cảm ơn Thầy và mọi người đã quan tâm và em mong sớm nhận được câu trả lời  ! 
     
     

     

             

             

             

               

             

               

             

                             

             

                
    Từ khóa đại diện:
    • Điểm chủ đề: 20
  • 02-27-2013 03:11 PM trả lời

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Em Chào Thầy !
    thầy có thể trình bày giúp em về  sparse autoencoder được không ạ !
    em đang cần tìm hiểu để làm đồ án cuối kỳ mà gặp nhiều khó khăn quá !
    em càm ơn Thầy ,em mong nhận được câu trả lời của Thầy !
     
    Từ khóa đại diện:
    • Điểm chủ đề: 35
  • 04-07-2013 04:02 PM trả lời

    • tutruong
    • 10 thành viên năng nổ nhất
    • Tham gia 03-30-2013
    • Điểm 255

    Re: Tổng quan về Mạng Neuron (Neural Network)

     
    Em có một số câu hỏi muốn được anh làm rõ thêm chút:1) Tại sao trong hình b) Neuron (PE) thứ 3 chỉ có 1 đầu vào (input) X2 mà không có X1. Không phải tại tầng Input Layer mỗi PE phải nhận hết tất cả các thuộc tính làm đầu vào sao?2) Cơ sở nào để chọn trọng số liên kết (Connection Weight) ban đầu, và để chọn được trọng số tốt nhất.3) Giá trị ngưỡng (Threshold) chọn theo tiêu chí nào, vì sao trong VD này tác giả chọn Threshold = 0.5. 4) Vì sao nếu giá trị Output < Ngưỡng (Threshold) thì không được chuyển đến Layer tiếp theo?5) Làm sao để chọn Learning rate để tăng độ chính xác?Mong anh có thể giải thích thêm chút để được hiểu trọn vẹn vấn đề. Cảm ơn anh rất nhiều 
     
     
    • Điểm chủ đề: 35
  • 04-09-2013 10:40 AM trả lời

    • chucnv
    • 10 thành viên năng nổ nhất
    • Tham gia 12-05-2008
    • Điểm 9,210

    Re: Tổng quan về Mạng Neuron (Neural Network)

    Chào bạn,

    Hình b minh họa hàm tổng cho một layer bất kỳ chứ không phải input layer. Output của một neuron có thể được chuyển đến layer khác hoặc không phụ thuộc vào hàm chuyển đổi (transfer function). Việc lựa chọn Transfer function có tác động lớn đến kết quả của ANN. (xem thêm về các loại transfer functions tại đây)

    Việc khởi tạo trọng số liên kết ban đầu thường được khởi tạo ngẫu nhiên, tuy nhiên để làm giảm thời gian training model thường sử dụng phương pháp chuyên gia để khởi tạo connection weight tốt hơn.

    Threshold value được chọn dựa vào transfer function, việc xây dựng các hàm chuyển đổi phụ thuộc vào yêu cầu của bài toán cụ thể. Trong ví dụ trên vì desired value có 2 giá trị (1,0) nên sử dụng hàm chuyển đổi là Step function với theshold là 0.5

    Tốc độ học (learning rate) của model ảnh hưởng rất lớn đến thời gian training cũng như hiệu quả của Model. Việc chọn giá trị learning rate thường khá phúc tạp nên Learning rate  thường được chọn bằng thực nghiệm hoặc bằng phương pháp chuyên gia. Trong ví dụ trên chọn learning rate = 0.2 chỉ mang tính minh họa cho quá trình Training model.

    PS.Một số vấn đề bạn nêu ra như làm sao để xác định hệ số learning rate cho chính xác hoặc định nghĩa các transfer functions cho hiệu quả là những vấn đề lớn trong nghiên cứu neural network.

    Từ khóa đại diện: , ,
    • Điểm chủ đề: 20
Trang 1 trong số 2 (31 nội dung) 1 2 Tiếp theo >
Powered by Community Server (Commercial Edition), by Telligent Systems