LUẬN VĂN TỐT NGHIỆP TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ

126 1 0
  • Loading ...
1/126 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 15/03/2019, 14:53

LUẬN VĂN TỐT NGHIỆP (Báo cáo lần 1) TÌM HIỂU MẠNG NEURAL MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ LỜI MỞ ĐẦU MỤC LỤC LƯỢC MẠNG NORON TRONG TỰ NHIÊN MẠNG NORON NHÂN TẠO 2.1 Tiếp cận 2.2 Tiếp cận hoạt động mạng noron 16 Gradient search 16 Ứng dụng phương pháp Gradient vào mạng noron 23 Gradient descent Algorithm 29 Các bước xây dựng chương trình mơ C# 33 Các tốn khơng tịnh tiến 55 Các bước xây dựng chương trình mơ C# 67 Overfitting – Quá phù hợp 85 Bias – Variance trace-off 85 Ngăn chặn Overfitting 86 Weight decay 88 Áp dụng cơng thức Quickprop để giải tốn liner ví dụ 99 Growing network (mạng lớn dần) 109 Phương pháp cascade corelation 110 PHỤ LỤC 123 PHẦN LƯỢC MẠNG NORON TRONG TỰ NHIÊN Trong trình tiến hóa sinh vật hàng triệu năm nay, sinh vật thay đổi hình dạng bên ngồi, màu sắc, cách di chuyển, thay đổi môi trường sống, thức ăn… tiến hóa đáng kể mà khó nhìn thấy tiến hóa não não từ lâu bí ẩn với người cách hoạt động, cách học Con người sinh vật cấp cao với não phát triển tốt vượt lên sinh vật Với trình độ khoa học kĩ thuật ngày não ngày lộ rõ trước kính hiển vi Hình P1 mơ phần não Bộ não khối thống Ở tầm vĩ mô ta phân tách não thành phần vỏ não, midbrain, brainstem, tiểu não Mỗi phần phân cấp thành nhiều vùng phần nhỏ hơn, phần tùy thuộc vào cấu trúc nhỏ bên phụ thuộc vào chức nhỏ Trong tổng thể phần não ( bó thần kinh) liên kết phần cực kz phức tạp phần biết đến Hệ thống tốt (và lớn nhất) não người hệ thống trực giác nơi mà 10 hay 11 trạng thái xử l{ xác định Chúng ta phân biệt thông tin truyền tới (feedforward) quan đầu vào (gần quan tiếp nhận thông tin) truyền cho xử lý sau này, truyền ngược (feedback) nhận phản hồi sau xử lý Mỗi phần có nhiệm vụ chức riêng tất cấu tạo từ noron nối kết với nhau, theo nguyên tắc đặc biệt tạo thành mạng chằng chịt noron Mạng gọi mạng noron, hình P1.2 mơ điều Được cấu thành từ nhiều noron, noron kết nối với hay nhiều noron khác, mạng noron truyền thông tin qua nhiều tầng Tín hiệu vào noron noron xử l{ sau tín hiệu xử l{ truyền tiếp cho noron khác thông qua đường truyền dài ngắn khác Thơng tin đường truyền bị biến đổi chiều dài hay tính chất riêng đường truyền Một noron nhận thông tin từ noron khác (thường hàng ngàn) Hàm tổng giá trị đầu vào vượt mức định trước noron phát spike _ Một xung điện từ thân đến axon đến noron khác (hay phần tiếp nhận khác) Spike gọi depolarization (khử phân cực) Hầu hết phần cuối Axon (output zone) kết nối với dendrites neuron khác Sự truyền tải tín hiệu điện từ noron sang noron khác chịu chi phối neurotransmittor Liên kết hóa học từ noron truyền tín hiệu điện cho noron khác gọi synapse Sự truyền tín hiệu từ noron noron khác phụ thuộc vào nhiều yếu tố ví dụ: Số neurotransmittor hoạt động, số lượng xếp receptors, tổng neurotransmittor hấp thụ… Hình P1.3 thể ảnh hưởng lớp neuronstransmitor trình đường truyền Cấu trúc noron (Hình p1.4) sau:  Dendrites (nhập)  Cell body: (thân tế bào)  Axon (xuất) Não người chứa 10 tỉ tế bào thần kinh, noron Trung bình noron kết nối với noron khác thông qua 10 000 liên kết (sysnapses) (Thật số khác tùy thuộc vào trung khu thần kinh) Não mạng noron hoạt động xử l{ song song Điều trái ngược với máy tính thơng thường xử lý dẫn Ngược lại noron thần kinh hoạt động với tốc độ tối đa 100 Hz máy tính chạy trăm triệu tốn tử giây Mặc dù với tốc độ chậm não người có khả vượt trội: - Não có khuynh hướng giảm hoạt động phần bị hư hại Ngược lại hầu hết chương trình hệ thống máy móc đại dừng hoạt động phần bị hỏng - Não học (tự tổ chức lại nó) thơng qua kinh nghiệm - Có nghĩa não hoàn thiện lại phần bị hỏng phần khỏe mạnh học đảm nhiệm cơng việc phần bị hỏng - Nó xử lý cơng việc song song cực kz hiệu Ví dụ hình dung khái niệm ảo phức tạp vòng 100ms, nghĩa 10 trình xử lý lúc! - Nó cung cấp trí thơng minh kiến thức processing element energy processing Style of fault elements size use speed computation tolerant 10 m 30 W 100 Hz -6 30 W 14 10 synapses -6 10 transistor s 10 m (CPU) 10 Hz parallel, distributed serial, centralized yes no learns intelligent, conscious yes usually a little not (yet) Não nhận tín hiệu từ quan cảm giác tai, mắt, mũi… sau xử lý trả tín hiệu trả lời lại cho các quan Ví dụ có người gọi tên bạn, sóng âm phát truyền đến tai, nhờ có nhĩ xương ống tai biến dao động âm thành dao động điện Các xung điện truyền tới não, não xử lý tín hiệu trả kết tín hiệu điện làm cho quan khác chân, lưng, cổ làm cho bạn quay người lại Hình P1.5 mơ phản ứng Hình P1.5 mơ q trình phản ứng, xử lý thơng tin não Giả sử thông tin đầu vào từ tai qua noron A, noron A xử l{ sau thơng tin tiếp tục qua noron B, noron B xử lý thông tin tiếp tục truyền đến C D Cuối noron D đưa tín hiệu xử l{ cho tay Đối với người trưởng thành ta gọi tên trình xảy trên, em bé gọi tên em khơng có phản ứng Điều nguyên nhân như: số noron chưa hoàn thiện chưa tồn tại, việc xử lý thông tin sai lệch, thông tin đường truyền neuron thay đổi không mong muốn Kết cuối neuron D không đưa tín hiệu phản ứng cho tay PHẦN MẠNG NORON NHÂN TẠO 2.1 Tiếp cận Mạng noron đơn giản mạng noron truyền thẳng (feed forward neural network) _ hình P2.1 Mạng cấu thành ba lớp: tầng vào (input layer), tầng ẩn (Hidden layer), tầng (Output layer) Các neuron input nhận tín hiệu đầu vào, sau neuron truyền cho neuron khác nằm tầng Mỗi neuron tầng nhận xử lý thơng tin sau truyền tiếp cho tất neuron tầng Cứ truyền neuron đầu Hình P2.1 ta ví dụ có noron đầu Một mạng noron có nhiều lớp tầng ẩn (Hidden layer) Nhưng tối thiểu mạng noron phải có tầng thiết yếu input output Trong ví dụ ta dùng mạng để nhận dạng số nhập vào hình ảnh Dữ liệu đầu hay sai thơi, output ta chọn neuron đủ Vậy liệu đầu vào ta hình số số khác, liệu đầu phát số nằm đâu hình Nhưng vấn đề đưa số vào mạng neural? Chắc khơng thể hình! Vì đầu vào tín hiệu tương tự máy tính số nhị phân Vậy ta phải chuyển hình thành tín hiệu Dựa vào hoạt động mắt người, hay máy ảnh, ta nhìn ảnh tia sáng từ hình phát tập trung lại điểm vàng (đối với mắt), phim (với máy ảnh), nơi mạng lưới dày đặt tế bào nhạy cảm với ánh sáng, bị ánh sáng chiếu vào tế bào phát sinh xung động điện truyền tới mắt Những ánh sáng khác có bước sóng khác tác động vào tế bào tế bào phát xung động điện tương ứng, với người mù màu xung động phát gần nhau, nên não không phân biệt đâu đỏ, đâu đen Từ xung động điện truyền tới não tín hiệu thơng tin Hình P2.2 mơ việc chuyển hình ảnh thành mảng tín hiệu Với vùng đen chuyển thành tín hiệu tế bào tương ứng, vùng trắng ngược lại Độ rõ hình phụ thuộc vào kích cỡ mảng mà ta sử dụng Ví dụ ta nhận mảng tín hiệu sau: mạng Trong (4) ta huấn luyện trọng số đầu vào hiddent unit (5) huấn luyện lại mạng… Bởi ta huấn luyện tầng thời điểm nên trình huấn luyện nhanh Hơn nữa, Bởi trọng số truyền tới hiddent unit không thay đổi sau huấn luyện lưu lại giá trị activation hidden unit cho điểm liệu, sử dụng lại giá trị mà khơng cần phải tính tốn lại Ý tưởng Cascade correlation nào? Vì hoạt động được? Trở với phương pháp gradient descent giới thiệu phần ta thấy: Mỗi trọng số mạng noron biến hàm lỗi E, bước huấn luyện ta cần tìm vector G cách lấy đạo hàm riêng phần E theo trọng số Sau ta di chuyển trọng số theo vecto G Thuật toán Cascade correlation ứng dụng phương pháp nào? Trong bước ta thấy CC cần tìm maximum S cách thay đổi trọng số candidate unit Nhưng S cần maximum S? Theo phương pháp GD (Gradient descent) ta thấy việc thêm unit tạo thêm giá trị đầu vào cho unit output Giá trị phụ thuộc vào liên kết đầu vào, mà trọng số đầu vào ngẫu nhiên giá trị đầu ngẫu nhiên nằm khoảng phụ thuộc vào hàm activation Có thể nói chưa có liên kết từ candidate unit tới output unit số lỗi đầu output unit giá trị đầu candidate unit hồn tồn độc lập Như mà huấn luyện đầu vào unit được? Ta gọi v đầu candidate unit vp giá trị đầu unit ứng với điểm liệu p E lỗi đầu unit output Ep lỗi đầu unit ứng với điểm liệu p v E Cov(v,E) = (v-vtb)(E-Etb) 0.0 1.0 1.0 Avg=3 Avg=5 Avg=.67 Giả sử ta có bảng thống kê với điểm liệu Đưa điểm liệu thứ vào mạng ta nhận đầu candidate unit 3, lỗi mạng 5, đưa điểm liệu thứ hai vào mạng ta nhận đầu candidate unit 2, lỗi mạng 4, đưa điểm liệu thứ ba vào mạng ta nhận đầu candidate 4, lỗi mạng ta tính giá trị trung bình đầu candidate unit với liệu (3+2+4)/3 = 3, trung bình lỗi mạng với liệu (5+4+6)/3=5 Trong ví dụ bạn để ý thấy đưa liệu đầu vào lỗi đầu candidate unit nhỏ giá trị trung bình lỗi mạng nhỏ giá trị lỗi trung bình mạng Vậy ta nhận xét, giá trị đầu candidate unit lỗi mạng hai giá trị ngẫu nhiên độc lập ta hy vọng sau: Với liệu huấn luyện, ta xây dựng giá trị trọng số đầu vào candidate unit cho giá trị đầu unit phải biến thiên (hoặc ngược với hiệp phương sai âm) với số lỗi mạng Nghĩa chỉnh trọng số cho trị tuyệt đối hiệp tương quan (corelation) v_đầu candidate unit E_Lỗi mạng lớn tốt ∑ |∑ ̅ ̅ | Với S maximum ta thấy v E biến đổi chênh lệch nhiều tốt, hiệp tương quan số dương v E biến đổi nhau, hiệp tương quan âm v E biến đổi ngược Trước tiên ta xét trường hợp hiệp tương quan dương Nghĩa v E biến đổi nhau, v tăng ̅ E tăng ̅ ngược lại Sau thêm candidate unit vào mạng ta đóng băng trọng số đầu vào Nghĩa với tập liệu tập giá trị đầu lúc sau candidate unit không thay đổi hàm Net output unit lúc cộng thêm giá trị wVp (Vp đầu candidate unit với liệu p, w trọng số đường truyền từ candidate tới output unit) Do giá trị hàm lỗi mà ta thu lúc sau biến đổi Ta hy vọng hiệp tương quan lỗi E’ lúc sau với giá trị v không thay đổi (vẫn dương trường hợp này) để giảm E’ giá trị giá trị đầu candidate unit (lúc hidden unit) thay đổi, ta biết giá trị khơng thể đổi được, ta có trọng số đường truyền từ hidden unit tới output unit phải giảm tích wvp giảm Q trình giảm thực thi trình huấn luyện lại mạng sau thêm hiddent unit vào Tương tự trường hợp hiệp tương quan âm thì, trọng số đường truyền từ hiddent unit tới output unit ngày tăng q trình huấn luyện Có cách khác thay dùng candidate unit để huấn luyện, ta tạo tập candidate unit với trọng số đầu vào ngẫu nhiên Vì unit không tương tác hay ảnh hưởng đến unit khác mạng neural nên ta huấn luyện chúng cách chọn candidate thích hợp Việc sử dụng tập candidate unit để huấn luyện tạo hai thuận lợi: Giảm tỉ lệ unit khơng hữu cài vào mạng candidate khơng hữu bị kẹt suốt trình huấn luyện, Tăng tốc trình huấn luyện nhiều phần khơng gian trọng số mở đồng thời Với tập candidate unit từ đến unit đủ để tìm candidate tốt ta cần Hidden candidate unit kiểu, ví dụ sử dụng hàm sigmoid làm hàm activation function Các khác tạo tập candidate unit với hỗn hợp hàm activation function : liner, sigmoid, Gaussian, vài radial activation function… cho chúng đấu lẫn để tìm tốt đưa vào mạng Kết mạng nhận sau hỗn hợp unit với hàm Tóm lại có số lưu { cài đặt thuật tốn : Trong trọng số output layer huấn luyện tất trọng số khác phải đóng băng Trong trọng số candidate unit huấn luyện khơng có trọng số mạng thay đổi Đối với máy có nhiều nhớ chính, ghi lại giá trị lỗi mạng với điểm tập huấn luyện suốt trình huấn luyện việc tránh việc tính lại nhiều lần dẫn tới huấn luyện chậm mạng liệu lớn Kết hợp Cascade Corelation Quick pro Trở lại với toán dự đoán tương quan xe hao tốn nhiên liệu, ta dễ dàng dự đoán hàm dự đốn mơ hình dễ nhìn Trong trường hợp tổng quát với điểm liệu rời rạc ngẫu nhiên khơng thể dự đốn giống hình bên Bây ta áp dụng việc xây dựng mơ hình dự đốn với phương pháp cascade correlation học quick prop Trước tiên liệu đầu vào ta trọng lượng xe, liệu đầu hao tốn nhiên liệu (miles/gallon) Do mạng ban đầu gồm neuron input, neuron output bias neuron Tiếp theo ta cần huấn luyện mạng cách thay đổi trọng số từ bias node đến output node từ input node tới output node - B1: Tạo ngẫu nhiên trọng số ban đầu - B2: Dùng phương pháp gradient để tim trọng số với tỉ lệ học - B3: Dùng phương pháp quickprop tìm trọng số - B4: Nếu tỉ lệ lỗi khơng giảm dừng lại, ngược lại quay lại bước nhỏ Đây bước giải thuật ta cần làm Trong bước bạn tạo ngẫu nhiên giá trị trọng số tạo ngẫu nhiên nằm khoảng (0 1) (vì lớn q khơng tốt, lớn q đồ thị nằm ngồi hình xét) Bước ta nhớ lại công thức gradient ta suy từ phần gradient descent Với : ∑ Ghi : lỗi unit i Nảy sinh vấn đề hàm activation function ta dùng cho neuron hàm ? Có nhiều hàm sigmod, liner, tanh, radial… Ở theo kinh nghiệm ta chọn hàm cho output node, hàm liner cho input node ta chưa muốn liệu bị biến đổi mà biến đổi tầng hidden tầng output Hàm lỗi output unit ta dùng hàm xét ban đầu : ∑( ) Trong trường hợp ta huấn luyện lớp nên delta ta viết lại sau : Từ ta dễ dàng tìm trọng số Sang bước ta dùng quickprop để tìm trọng số nữa, nhắc lại công thức quickprop : Với công thức cho ta tiến thẳng đến cực tiểu hàm lỗi.Lúc ta cập nhật trọng số tính lại giá trị hàm lỗi, giá trị nằm mức cho phép dừng lại (dĩ nhiên toán ta tiếp tục làm tiếp) Ngược lại ta cần tìm hidden layer để thêm vào mạng sau : Theo phương pháp cascade corelation ta bắt đầu với hai ứng cử viên (bạn tạo 3,4 ứng viên đc) Hai nút ứng cử viên (candidate unit) có hai hàm activation function khác nhau, mục đích khác để mở rộng khơng gian tìm kiếm ta hơn, so với ta dùng hàm cho hai candidate unit Ta dùng liner function cho candidate unit thứ nhất, function cho candidate unit thứ hai Tạo liên kết, kết nối từ output unit bias unit tới candidate unit Trọng số liên kết sinh ngẫu nhiên Ta khoan vội tạo liên kết từ candidate unit tới output unit ta chưa đưa candidate unit vào mạng Bước bạn cần làm “Đóng băng” trọng số mạng ban đầu (trước thêm candidate unit) huấn luyện candidate unit để chọn candidate unit tốt Cách huấn luyện sau: Ta có: ∑ |∑ ̅ ̅ | với v_đầu candidate unit E_Lỗi mạng lớn tốt Mục tiêu ta tìm maximum giá trị S này, candidate làm cho S mang giá trị lớn hơn, candidate tốt Nhận dạng số viết tay Phương pháp 1.1 Tổ chức mạng Ta có tất 10 chữ số từ tới (ta không xét số âm, số thập phân), ta dùng mạng neral để nhận dạng đầu mạng cần nhận dạng 10 chữ số Nghĩa đầu mạng noron ta phải chia dãy kết đầu thành 10 phần Nếu đầu mạng dãy nhị phân ta dùng neuron đầu để biểu diễn Nói tóm lại dù cách hay cách khác mạng lớn khó biểu diễn hay traning với liệu học lớn Mặc khác ta dùng phương pháp gradient để nhận dạng ký ký tự có hình dạng khác nhau, khó biểu diễn dạng hàm số Do phương pháp Cascade Corelation phương pháp hữu hiệu để huấn luyện mạng Một vấn đề cần giải dễ phân biệt số ‘0’ số ‘7’ khó phân biệt số ‘7’ số ‘1’ viết tay Ta biết khơng gian tìm kiếm ta có 10 chữ số, với mẫu liệu nhập vào ta so với số « mẫu » để kiểm tra xem có giống số khơng Mỗi lần so sách ta dùng mạng neural để làm việc Nghĩa ta có mạng neural nhập vào mẫu kiểm tra xem mẫu giống số ‘0’ hay số ‘1’, mạng khác kiểm tra xem mẫu giống số ‘0’ hay số ‘2’, tương tự ‘0’ ‘3’ … Phân biệt ‘1’ ‘2’ … ‘8’ ‘9’ Nghĩa ta có 45 mạng neural tất Vì mạng phân biệt cặp số giải vấn đề nêu Mạng phân biệt số ‘1’ ‘7’ phức tạp mạng phân biệt số ‘0’ ‘7’ Trong chương trình ta giới hạn ma trận nhập vào mảng hai chiều 20x30 ví dụ nhận dạng số phần Mỗi mạng neural có neuron output Ví dụ mạng neural phân biệt số ‘1’ ‘7’ có neuron output Giá trị output neuron nằm khoản Nếu giá trị đầu neuron thứ lớn neuron thứ liệu nhập vào giống số ‘1’ nhiều hơn, ngược lại đầu neuron thứ nhỏ giá trị đầu neuron thứ liệu nhập vào giống số ‘7’ nhiều Nếu gọi V1 giá trị đầu neuron thứ nhất, V2 giá trị đầu neuron thứ : V1 - V2 > 0.4 => Dữ liệu giống số ‘1’ nhiều V2 - V1 > 0.4 => Dữ liệu giống số ‘7’ nhiều Sở dĩ ta đặt độ chênh lệch |V1 – V2| > 0.4 để phân biệt rõ rệt nhận dạng với hy vọng mang đến kết xác sau lần dự đốn Bạn thay số 0.4 số nhỏ hơn, lớn tùy bạn Nếu lớn bạn ép mạng phải phân biệt cách rõ ràng khó huấn luyện với liệu lớn chiếm bạn thời gian dài, mạng bạn lớn giống trường hợp over-fitting mà ta xét Nếu số bạn chọn nhỏ, quan tâm lớn đủ lúc tỉ lệ dự đoán sai bạn cao, mạng neural bạn đơn giản, bạn rơi vào trường hợp « high bias » mà ta đề cập phần Hàm lỗi Dựa vào cách ta xây dựng hàm lỗi sau : Nếu ta hy vọng V1 gần tốt V2 gần tốt hàm lỗi : E = (1-V1)+(V2) Ngược lại hy vọng ta đặt neuron thứ hai E = (1-V2)+V1 Như hàm lỗi tùy thuộc vào giá trị mà ta kz vọng neuron output nằm khoảng (0,2) Activation function Với nhận dạng chữ số ta khó biết đồ thị hàm thích hợp Nhưng với cách phân tích neural output ta có giá trị nằm khoảng (0,1) nên ta chọn hàm cong nằm khoảng tương ứng, ta chọn hàm tanh, bạn chọn hàm sigmod đường cong tùy bạn (mình không sâu vấn đề này) Các hàm activation function unit lớp hidden khác biểu diễn tốt khơng gian tìm kiếm (ta trình bày phần phương pháp cascade corelation) 1.2 Cách traning Với liệu mẫu gồm mảng hai chiều 20x30 với giá trị mảng số Ví dụ ta có mảng hai chiều A[20,30] mảng mang giá trị số ‘7’ Bây mạng sau cần huấn luyện: mạng phân biệt số ‘0’ ‘7’, mạng phân biệt số ‘1’ ‘7’, mạng phân biệt số ‘2’ ‘7’, mạng phân biệt số ‘3’ ‘7’, mạng phân biệt số ‘4’ ‘7’, mạng phân biệt số ‘5’ ‘7’, mạng phân biệt số ‘6’ ‘7’, mạng phân biệt số ‘8’ ‘7’, mạng phân biệt số ‘9’ ‘7’ Nghĩa với liệu mẫu ta huấn luyện mạng neural Để đơn giản ta xét trường hợp huấn luyện mạng phân biệt số ‘0’ ‘7’ Với liệu A[20,30] giá trị số ‘7’ Bây ta huấn luyện mạng theo phương thức pháp Cascade Corelation Sau với liệu huấn luyện B*20,30+ giá trị số ‘7’ Ta lại tiếp tục huấn luyện mạng có Cascade Corelation Phương pháp huấn luyện kiểu gọi online learning, kết cuối ta thu đc khơng xác Mặc khác chương trình nhận dạng chữ viết tay đa số huấn luyện lần sau « Xuất xưởng » cho người tiêu dùng huấn luyện thêm Do ta nên dùng phương thức học batch learning Ta học toàn liệu huấn luyện lần Ta bắt đầu với mạng phân biệt số ‘0’ ‘7’ (Viết tắt mạng 07), ban đầu mạng có 20x30 +1 =601 neuron đầu vào (trong có bias neuron) neuron đầu Các liên kết nối từ input layer đến tất neuron output layer với trọng số ban đầu sinh ngẫu nhiên khoảng (0 1) Ta huấn luyện mạng phương pháp quickprop sau: Đầu tiên ta cần tìm f’1 1.3 Tổ chức traning set Với tập liệu huấn luyện ta phải tổ chức để dễ huấn luyện mạng neuron chứa tất liệu huấn luyện 1.4 Cách test Coding PHỤ LỤC Tìm hiểu Gradient Gradient từ khác đạo hàm, hàm thể tốc độ thay đổi hàm số Nó vector dẫn (hướng di chuyển) rằng: - Những điểm hướng tới giá trị làm cho hàm tương ứng đạt giá trị cực đại - Bằng cực đại hay cực tiểu cục (vì khơng dẫn đơn để tăng (giảm) hàm) Từ Gradient (grad) thường đạo hàm vector hàm số hàm số có hay nhiều biến Bạn dùng cụm từ “Một đường thẳng có Gradient” (độ dốc nó) sử dụng cụm từ gradient cho biến gây lúng túng không cần thiết Hãy giữ cho đơn giản Gradient có nghĩa thay đổi màu sắc Chúng ta nói mơ hình tốn học bạn cảm thấy OK Bạn thấy liên quan với Tính chất Gradient Chúng ta biết Gradient đạo hàm hàm số nhiều biến, suy thuộc tính nó: Theo quy tắc đạo hàm cho ta biết tốc độ thay đổi biến đơn, thường x Ví dụ tỉ số dF/dx nói cho biết hàm F thay đổi x thay đổi Nhưng hàm số có nhiều biến ví dụ x,y có nhiều đạo hàm giá trị hàm thay đổi thay đổi x (dF/dx) y (dF/dy) Chúng ta biểu diễn tỉ lệ thay đổi nhiều biến vector với thành phần đạo hàm tương ứng Thật tế hàm có biến có gradient có thành phần F(x) có đạo hàm dF/dx F(x,y,z) có đạo hàm (dF/dx, dF/dy, dF/dz) Giống đạo hàm thông thường, Gradient đường đến giá trị cực đại cục hàm số Tuy nhiên có nhiều biến (x,y z) dẫn khơng đơn tiến hay lùi dọc theo trục x hàm đơn biến Nếu có hai biến thành phần gradient bất kz hướng mặt phẳng tọa độ Giống với thành phần gradient biến ta bất kz hướng để tăng hàm Ví dụ: Giả sử có lò vi sóng thần kz, với tọa độ viết lên hình đặc biệt Chúng ta gõ vào tọa độ (giống “3,5,2”) hình hiển thị cho gradient nhiệt độ điểm Lò vi ba kèm với đồng hồ tiện nghi Không may mắn đồng hồ lại có giá riêng – nhiệt độ lò vi sóng chỗ khác chỗ khác Nhưng điều lại có lợi nó: Chúng ta thật cần đồng hồ Làm đây? Ta gõ vào tọa độ nào, lò vi sóng tính tốn đưa gradient điểm Cẩn thận đừng lầm lẫn tọa độ gradient Tọa độ vị trí tại, đo trục tọa độ x,y,z Gradient dẫn di chuyển từ điểm ví dụ lên, xuống, trái, phải mục đích đặt bánh bột mì Pullsbury vào lò Bây chúng cần nấu không nào? Chúng ta đặt vào bên lò vi sóng vị trí bất kz mục đích nấu nhanh tốt Gradient giúp ta điều đó! Gradient điểm dẫn từ từ điểm đến điểm khác cho hàm xét nhận giá trị lớn Trong trường hợp mày hàm đo lường nhiệt độ Vì hàm gradient bảo đưa miếng bánh Pullsbury đến nơi có nhiệt độ cao để nấu chín mau Lưu { hàm gradient khơng đưa cho tọa độ đến nhiệt độ cao mà chỉ hướng đến nơi có nhiệt độ cao Vậy bắt đầu vị trí bất kz (3,5,2) kiểm tra gradient Trong trường hợp gradient (3,4,5) Bây không cần phải theo hướng dời phải đơn vị, lùi đơn vị lên đơn vị Gradient dẫn theo dẫn với bước nhỏ sau kiểm tra gradient lần Chúng ta đến điểm mới, gần với điểm cũ, điểm có gradient nó, gradient dẫn tốt để theo Chúng ta lặp lại tiến trình di chuyển bước nhỏ theo dẫn gradient kiểm tra lại gradient, di chuyển bước nhỏ theo hướng gradient Mỗi lần lần theo gradient từ nơi nóng đến ngày nóng Kết đến nơi nóng lò viba đặt mẫu bánh chờ thưởng thức Đừng ăn vội miếng bánh Vì trước ăn miếng bánh tìm hiểu thêm gradient thêm hương vị, không? Đầu tiền đạt đến điểm nóng lò vi ba gradient gì? Zero, nà na Tại sao? Khi đạt đến đỉnh cao nhiệt độ khơng có dẫn đâu để tăng nhiệt độ lên Nó giống ta đứng đỉnh núi, dẫn để di chuyển đường xuống núi Zero gradient nói bạn nhiệt độ cao đâu để nhiệt độ cao Nhưng có tới hai tọa độ maximun, giống có tới hai đỉnh núi đứng kề nhau? Bạn đỉnh có đỉnh cao kế bên bạn? Để leo lên đỉnh núi khác việc trước tiên bạn cần làm leo xuống núi trước Bây ta phát điều gradient để không lấn sâu vào gradient Trong trường hợp tìm maximum hàm số thường (hàm biến) ta tìm tất nơi mà đạo hàm 0: khơng có hướng gia tăng lớn Nếu bạn thực lại lần đạo hàm đưa kết max cục để kiểm tra hay max hàm phải so sách với đỉnh khác Nguyên tắc áp dụng cho gradient, đạo hàm tổng quát Bạn phải tìm nhiều đỉnh nơi mà gradient Bạn phải kiểm tra đỉnh xem đỉnh cực đại toàn cục Ngược lại đỉnh đồi – gradient – bạn cần so sánh chiều cao để tìm chiều cao, cao Bây vấn đề sáng tỏ, bạn thưởng thức ăn Tham khảo : http://betterexplained.com/articles/vector-calculus-understanding-the-gradient/ http://en.wikipedia.org http://www.appliedmathematics.info/veccalc.htm http://www.ltcconline.net/greenl/courses/107/PartDeriv/grad.htm http://www.willamette.edu/~gorr/classes/cs449/intro.html http://cognet.mit.edu/library/books/mitpress/026219483X/cache/appendixD.pdf http://www.csc.kth.se/~orre/snns-manual/UserManual/node149.html An Empirical Study of Learning Speed in Back-Propagation Networks (Scott E Fahlman) ... neuron đủ Vậy liệu đầu vào ta hình số số khác, liệu đầu phát số nằm đâu hình Nhưng vấn đề đưa số vào mạng neural? Chắc khơng thể hình! Vì đầu vào tín hiệu tương tự máy tính số nhị phân Vậy ta phải... mà kết lại ta nói mạng sai với với liệu Vậy ta đưa tập hình vừa số vừa số vào vào dựa vào kết nhận ta biết mạng ta sai Sau việc ta làm chỉnh lại trọng số cho sai Ví dụ với liệu mạng ta sai hai... output đầu vào số 4, ngược lại kết output đầu vào số Quá đơn giản, làm để “dạy” cho mạng noron làm điều này? Ta cần làm rõ vấn đề phân biệt mạng neuron dạy chưa dạy Chúng ta biết mạng neural ta
- Xem thêm -

Xem thêm: LUẬN VĂN TỐT NGHIỆP TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ, LUẬN VĂN TỐT NGHIỆP TÌM HIỂU MẠNG NEURAL VÀ MỘT SỐ ỨNG DỤNG TRONG GIẢI QUYẾT CÁC BÀI TOÁN THỰC TẾ

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay