Tổng quan deep learning

67 52 0
Tổng quan deep learning

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TIỂU LUẬN: Khai phá liệu Nhóm: LỜI CẢM ƠN Nhóm chúng em xin gửi tới thầy lời cảm ơn chân thành thật tâm tới thầy Hà Quang Thụy Chúng em cảm ơn thời gian vừa qua, thầy tận tình bảo, hướng dẫn chúng em tiếp thu kiến thức hoàn thành tiểu luận Chúng em xin chân thành cảm ơn thầy Mục Lục I Tổng quan deep learning 1.1 Khái niệm Deep Learning Học sâu (Deep Learning) lĩnh vực học máy mở rộng, cho phép huấn luyện AI dự đoán đầu dựa vào tập đầu vào (tập huấn luyện) Cả hai phương pháp huấn luyện học có giám sát học khơng giám sát sử dụng mơ hình học sâu Học sâu (Deep Learning) tập trung giải vấn đề liên quan đến mạng thần kinh (neural) nhân tạo nhằm nâng cấp công nghệ nhận diện giọng nói, tầm nhìn máy tính xử lý ngơn ngữ tự nhiên Phần lớn thuật toán học sâu dựa khái niệm mạng Neural nhân tạo Hiệu suất mơ hình học sâu (Deep Learning) ngày cải thiện Phần lớn thuật toán học sâu dựa khái niệm mạng neural nhân tạo việc đào tạo thuật toán giới ngày dễ dàng so với trước nhờ sẵn có liệu phong phú đủ tài ngun tính tốn Với liệu bổ sung, hiệu suất mơ hình học sâu tiếp tục cải thiện Một đại diện tốt điều nhìn thấy hình 1-2: 1.2 Thế “sâu” Thuật ngữ deep deep learning đề cập đến chiều sâu kiến trúc mạng neural nhân tạo, việc học tập viết tắt việc học thông qua mạng neural nhân tạo Hình 1-3 đại diện xác khác biệt mạng sâu nông thuật ngữ deep learning thu tiền tệ Mạng neural sâu có khả phát cấu trúc tiềm ẩn (hoặc tính học tập) từ liệu khơng gắn nhãn khơng có cấu trúc, chẳng hạn hình ảnh (dữ liệu pixel), tài liệu (dữ liệu văn bản) tệp (âm thanh, liệu video) Mặc dù mạng nơ-ron nhân tạo mơ hình deep learning có cấu trúc tương tự, điều khơng có nghĩa kết hợp hai mạng nơron nhân tạo thực tương tự mạng nơron sâu huấn luyện để sử dụng liệu Điều khác biệt với mạng nơron sâu từ mạng nơron nhân tạo thông thường cách sử dụng backpropagation Trong mạng lưới nơron nhân tạo bình thường, tàu ngược dịng sau (hoặc kết thúc) hiệu so với layer ban đầu (hoặc cũ) Vì vậy, quay trở lại mạng, lỗi trở nên nhỏ khuếch tán Một mạng nơron sâu đơn giản mạng nơ-ron chuyển tiếp với nhiều layer ẩn Nếu có nhiều layer mạng, nói mạng sâu Các câu hỏi mà nên nhấp nháy thông qua tâm trí bạn layer phải có mạng phải đủ điều kiện sâu? Trước bắt đầu hành trình thực tế việc học sâu không gian NLP, hữu ích xem lại điều mạng nơron loại khác chúng Chúng ta giới thiệu cấu trúc mạng nơron vài số loại mạng nơron khác sử dụng ứng dụng toàn ngành Để cung cấp hiểu biết ngắn gọn thực tế kỹ thuật này, phần chương chia thành sáu nhóm: • Mạng nơron gì? • Cấu trúc mạng nơron • Các loại mạng nơron • Perceptron đa layer • Gốc dốc ngẫu nhiên • Backpropagation 1.3 Khái niệm mạng neural nhân tạo Mạng lưới nơron có lịch sử lâu dài truy tìm trở lại tác phẩm Marvin Minsky trí thơng minh nhân tạo (AI) tham chiếu tiếng ông thách thức giải hàm OR (XOR) độc quyền Mạng lưới nơron ngày trở nên phổ biến, tiến lớn thực hiện, với khả truy cập vào tập liệu lớn lớn đời điện toán đám mây GPU cung cấp sức mạnh tính tốn to lớn Điều sẵn sàng truy cập vào liệu máy tính tạo độ xác cao mơ hình hóa phân tích Mạng nơron mơ hình sinh học lấy cảm hứng (bắt chước chức não động vật có vú) cho phép máy tính học khoa người từ liệu quan sát Họ cung cấp giải pháp cho nhiều vấn đề: nhận dạng hình ảnh, nhận dạng chữ viết tay, nhận dạng giọng nói, phân tích giọng nói NLP Để giúp phát triển ý nghĩa trực quan, tác vụ khác mà thực ngày phân loại sau: suy luận đại số tuyến tính (ví dụ: A × B = C loạt nhiệm vụ, chẳng hạn công thức cho bánh) nhận thức suy luận phi tuyến (ví dụ: kết hợp tên với ảnh động vật giảm căng thẳng xác thực tuyên bố dựa phân tích giọng nói) học nhiệm vụ thơng qua quan sát (ví dụ: điều hướng xe Google) Nhiệm vụ giải theo thuật tốn, tức là, mơ tả theo chương trình để tạo kết từ số thành phần, khó, không thể, để xác định cách tiếp cận thuật toán cho nhiệm vụ sau Các nhiệm vụ sau u cầu mơ hình linh hoạt tự điều chỉnh hành vi nó, dựa ví dụ gắn thẻ Giờ đây, thuật tốn thống kê tối ưu hóa cố gắng cung cấp đầu xác liên quan đến đầu vào có thể, chúng yêu cầu đặc tả hàm để mơ hình liệu mà chúng tạo tập hợp hệ số tối ưu Ngược lại với kỹ thuật tối ưu hóa, nơron mạng hàm linh hoạt tự động điều chỉnh hành vi thỏa mãn nhiều tốt mối quan hệ đầu vào kết mong đợi gọi xấp xỉ phổ quát Với việc sử dụng phổ biến thuật tốn, có thư viện (Hình 1-4) có sẵn tất tảng phổ biến, chẳng hạn gói R (knn, nnet), Scala (phần mở rộng ML học máy) Python (TensorFlow, MXNet, Keras) 1.4 Cấu trúc mạng Neural nhân tạo Nguyên tắc đằng sau mạng nơron tập hợp yếu tố bản, nơron nhân tạo perceptron, phát triển lần vào năm 1950 Frank Rosenblatt Chúng lấy số đầu vào nhị phân, x1, x2, , xN tạo đầu nhị phân đơn tổng lớn activation potential Các tế bào nơron gọi "fire" tiềm activation vượt hoạt động hàm bước (step function) Các tế bào nơron “lửa” dọc theo tín hiệu đến tế bào nơron khác kết nối với nhánh chúng, đó, cháy, điện activation bị vượt quá, tạo hiệu ứng xếp tầng (Hình 1-5) Vì khơng phải tất đầu vào có nhấn mạnh nhau, trọng số gắn vào đầu vào, xi phép mơ hình gán tầm quan trọng cho số yếu tố đầu vào Do đó, đầu 1, tổng trọng số lớn tiềm sai lệch activation, tức là, Trong thực tế, hình thức đơn giản khó khăn, tính chất đột ngột hàm bước (step function) (Hình 1-6) Vì vậy, hình thức sửa đổi tạo để hoạt động nhiều dự đốn được, tức là, thay đổi nhỏ trọng lượng độ lệch gây thay đổi nhỏ đầu Có hai sửa đổi Các đầu vào nhận giá trị 1, thay nhị phân Để làm cho đầu hoạt động trơn tru cho đầu vào cho, x1, x2,…, xN trọng số w1, w2,…, wN bias, b, sử dụng hàm sigmoid sau (Hình 1-7): Độ mịn hàm mũ, σ, có nghĩa thay đổi nhỏ trọng số độ lệch tạo thay đổi nhỏ đầu từ nơron (sự thay đổi hàm tuyến tính thay đổi trọng số độ lệch) Ngồi function sigmoid thơng thường, phi tuyến khác thường sử dụng bao gồm phần sau, loại có dải đầu tương tự khác sử dụng tương ứng: • ReLU: Đơn vị tuyến tính chỉnh sửa Điều giúp activation bảo vệ mức Nó tính cách sử dụng hàm sau: đó, xj, giá trị đầu vào thứ j zj giá trị đầu tương ứng sau hàm ReLU f Sau đồ thị (Hình 1-8) hàm ReLU, với giá trị ‘0’ cho tất x 0: khơng cho phép activation cập nhật trọng số nơron cụ thể, làm cho gradient nơron khơng đổi Rủi ro khác cung cấp ReLU bùng nổ hàm activation, giá trị đầu vào, xj, đầu Mặc dù ReLU cung cấp lợi ích khác, chẳng hạn giới thiệu sparsity trường hợp xj 0, dẫn đến biểu diễn thưa thớt, gradient trả trường hợp ReLU không đổi, kết học nhanh hơn, kèm theo khả giảm gradient biến • LReLUs (Leaky ReLUs): Giảm thiểu vấn đề chết ReLUs cách giới thiệu độ dốc giảm nhẹ (~ 0,01) cho giá trị x nhỏ LReLUs cung cấp kịch thành công, khơng phải lúc • ELU (Đơn vị tuyến tính số mũ): Những giá trị cung cấp giá trị âm đẩy activation đơn vị trung bình gần khơng, tăng tốc q trình học, cách di chuyển gradient gần đến gradient tự nhiên đơn vị Để có giải thích tốt ELU, tham khảo báo gốc Djork-Arné Clevert, có https: // arxiv org / abs / 1511.07289 • Softmax: Cịn gọi hàm mũ chuẩn hóa, điều biến đổi tập hợp giá trị thực cho phạm vi (0,1), cho tổng kết hợp Hàm softmax biểu thị sau: Tất function trước dễ dàng phân biệt, cho phép mạng đào tạo dễ dàng với độ dốc (được trình bày phần tiếp theo, “Các loại mạng nơron”) Như não động vật có vú, nơron riêng lẻ tổ chức layer, với kết nối layer ta layer tiếp theo, tạo mạng ANN, mạng nơron Chiến lược kiểm soát sử dụng để tính xấp xỉ phương pháp Newton, thuật toán Levenberg-Marquardt , hoạt động tốt miễn trị riêng có giá trị âm ma trận Hesse gần với (khơng q âm) Khi có nhiều hướng cong mạnh hơn, giá trị α phải đủ lớn để bù cho trị riêng nhỏ Tuy nhiên, α tăng giá trị, ma trận Hesse bị ma trận đường chéo αI lấn át (tức hệ số kiểm soát thêm vào lớn khiến ma trận Hesse sai khác nhiều so với ban đầu), hướng mà phương pháp Newton chọn hội tụ tới giá trị gradient tiêu chuẩn chia cho α Khi đồ thị cong mạnh phía âm, giá trị α phải lớn đến mức phương pháp Newton tạo bước cập nhật nhỏ so với phương pháp trượt gradient với tốc độ học phù hợp Ngoài thách thức gây đặc trưng hàm mục tiêu, điểm yên ngựa, ứng dụng phương pháp Newton việc huấn luyện mơ hình mạng neuron quy mô lớn bị giới hạn khối lượng tính tốn đáng kể mà thực Số lượng phần tử ma trận Hesse bình phương số lượng tham số, với k tham số (ngay với mạng neuron nhỏ, số lượng tham số lên đến hàng triệu), phương pháp Newton cần tính ma trận nghịch đảo cho ma trận có kích thước k×k – với độ phức tạp tính tốn O(k3) Hơn nữa, tham số thay đổi sau lần cập nhật, việc tính tốn ma trận nghịch đảo Hesse tính tốn lần lặp trình huấn luyện Kết ta áp dụng phương pháp Newton cho mạng với số lượng tham số nhỏ Trong phần lại mục này, thảo luận giải pháp thay để cố gắng tận dụng ưu điểm phương pháp Newton tránh rào cản tính tốn nói 5.2 Conjugate Gradients (đạo hàm liên hợp) Đạo hàm liên hợp phương pháp hiệu để tránh việc tính tốn ma trận Hesse nghịch đảo cách lặp lại bước trượt theo hướng liên hợp(conjugate direction) Ý tưởng hướng tiếp cận lấy từ nghiên cứu kỹ điểm yếu phương pháp trượt theo sườn dốc nhất, phương pháp dị đường lặp lại theo hướng gradient Hình bên mô tả cách hoạt động phương pháp trượt theo sườn dốc nhất, áp dụng với đường bậc hai, thấy đường đến điểm tối ưu zig-zag không hiệu Điều xảy hướng dò đường cho gradient phải đảm bảo trực giao với hướng tìm bước dị đường trước Gọi hướng tìm bước trước dt−1 Tại điểm cực tiểu, nơi mà bước dò đường kết thúc, đạo hàm khơng theo hướng dt−1: ∇θJ(θ) dt−1=0 Bởi gradient điểm xác định hướng dò đường tiếp theo, dt=∇θJ(θ) khơng có tác động vào dt−1 Do dt−1 dt trực giao Mối quan hệ dt−1 dt mơ hình 8.6 với nhiều vòng lặp phương pháp trượt theo sườn dốc Như giải thích hình vẽ, việc trượt theo hướng trực giao không đảm bảo giá trị cực tiểu nằm dọc theo hướng dò đường trước (các điểm tối ưu khơng nằm dọc đường) Điều khiến cho đường đến điểm tối ưu có dạng zig-zag, mà trượt tới điểm tối ưu theo hướng gradient tại, ta phải cực tiểu hóa lại hàm mục tiêu theo hướng gradient trước Do vậy, tìm kiếm theo hướng gradient cuối q trình dị đường, theo mội nghĩa đó, ta thực lại trình tìm kiếm theo hướng bước dị đường trước Phương pháp đạo hàm liên hợp giải vấn đề Trong phương pháp đạo hàm liên hợp, cố gắng tìm hướng tìm kiếm liên hợp (conjugate) với hướng tìm bước trước đó; nghĩa là, ta khơng phải lặp lại q trình tìm kiếm thực theo hướng Tại bước lặp thứ t trình huấn luyện, hướng tìm kiếm dt có dạng: Một cách áp dụng tính liên hợp cách đơn giản u cầu việc tính tốn vector riêng ma trận H để chọn hệ số βt, có nghĩa mục đích xây dựng phương pháp thuận lợi mặt tính tốn phương pháp Newton khơng đáp ứng Liệu tìm hướng liên hợp mà không cần phải dùng đến bước tính tốn hay khơng? May mắn thay, câu trả lời Hai phương pháp phổ biến để tính tốn giá trị βt Phương pháp Fletcher-Reeves: Phương pháp Polak-Ribière: Với bề mặt bậc hai, hướng liên hợp đảm bảo gradient dọc theo hướng trước có độ lớn khơng tăng Do đó, vị trí cực tiểu dọc theo hướng phía trước Hệ khơng gian tham số kk chiều, phương pháp gradient liên hợp cần tối đa kk phép dị đường để tìm cực tiểu Thuật tốn gradient liên hợp mơ tả : 5.3 BFGS Thuật toán Broyden–Fletcher–Goldfarb–Shanno (BFGS) cố gắng tận dụng số lợi phương pháp Newton mà không tốn q nhiều chi phí tính tốn Có nghĩa có mục đích giống với phương pháp gradient liên hợp Tuy nhiên, BFGS ước tính cập nhật Newton cách trực tiếp Ta nhớ lại cập nhật Newton cho bởi: H ma trận Hesse J theo θ θ(0) Khó khăn mặt tính tốn lớn áp dụng cập nhật Newton bước tính ma trận nghịch đảo Hesse H−1 Các hướng tiếp cận phương pháp bán Newton (quasi-Newton) (trong thuật tốn BFGS bật nhất) xấp xỉ ma trận nghịch đảo ma trận Mt cập nhật bước xấp xỉ cấp thấp (low-rank) để trở thành xấp xỉ tốt H−1 Một xấp xỉ nghịch đảo ma trận Hesse Mt cập nhật, phương phép trượt ρt xác định ρt=Mtgt Một phép dò đường thực phương để xác địch độ lớn bước, ϵ∗, thực theo phương Bước nhật tham số cuối cho bởi: Giống phương pháp gradient liên hợp, thuật toán BFGS lặp lại chuỗi phép dò đường với hướng có chứa thơng tin đạo hàm bậc hai Tuy nhiên, không giống gradient liên hợp, thành công phương pháp khơng q phụ thuộc vào việc tìm điểm gần với cực tiểu phương pháp dị đường Vì vậy, so với gradient liên hợp, BFGS có ưu điểm dùng thời gian cho việc điều chỉnh phép dò đường Mặt khác, thuật toán BFGS phải lưu trữ ma trận nghịch đảo Hesse, M, O(n2) nhớ, khiến cho BFGS khơng khả thi với hầu hết mơ hình học sâu đại thường có tới hàng triệu tham số BFGS có giới hạn nhớ (Limited Memory BFGS, hay L-BFGS): Chi phí nhớ cho thuật tốn BFGS giảm đáng kể cách tránh lưu trữ toàn ước lượng ma trận nghịch đảo Hesse M Thuật tốn L-BFGS tính ước lượng M phương pháp tương tự BFGS với bắt đầu với giả sử Mt−1 ma trận đơn vị, thay lưu trữ ma trận ước lượng bước Nếu dùng với tìm kiếm xác đường thẳng, hướng xác định vởi L-BFGS đôi liên hợp với Tuy nhiên, khác với phương pháp gradient liên hợp, trình thể tốt kể tìm kiếm đường thẳng tiến tới cực tiểu cách tương đối Thuật L-BFGS không lưu trữ mơ tả tổng qt hóa để bao gồm nhiều thơng tin ma trận Hesse cách lưu vài vector dùng để cập nhật M bước, bước tốn O(n) 5.4 Các chiến thuật tối ưu 5.4.1 Batch Normalization Chuẩn hóa theo lơ (Batch normalization) [Ioffe and Szegedy, 2015] phát minh thú vị gần việc tối ưu hóa mạng neuron sâu, thực chất khơng phải thuật tối ưu hóa Thay vào đó, phương pháp tái tham số hóa tùy biến, xuất phát từ khó khăn việc huấn luyện mơ hình nhiều tầng Các mơ bao gồm kết hợp nhiều hàm số nhiều tầng Gradient cho biết cách cập nhật tham số, với giả định tầng khác cố định Trong thực tế, ta đồng thời cập nhật toàn tầng mạng Khi thực cập nhật, kết khơng mong muốn xảy hợp nhiều hàm số thay đổi lúc, sử dụng cập nhật tính tốn với giả định hàm cịn lại cố định Một ví dụ đơn giản, giả sử ta có mạng neuron đa tầng với tầng có đơn vị khơng sử dụng hàm kích hoạt tầng ẩn: yp̂ =xw1w2w3⋯wl Ở đây, wiwi trọng số sử dụng tầng i Đầu tầng ii hi=hi−1wi Đầu yp̂ hàm tuyến tính đầu vào x hàm phi tuyến trọng số wi Giả sử hàm chi phí đặt giá trị cho gradient yp̂ , từ muốn giảm yp̂ lượng nhỏ Sau đó, thuật tốn lan truyền ngược tính gradient g=∇wyp̂ Điều xảy cập nhật w←w−ϵg Khai triển chuỗi Taylor bậc yp̂ dự đoán giá trị yp̂ giảm lượng ϵg⊤g Nếu muốn giảm yp̂ lượng 0.1, dựa vào khai triển bậc trên, ta thiết lập tốc độ học ϵ 0.1/(g⊺g) Tuy nhiên, thực tế bước cập nhật bao gồm tác động khai triển bậc hai, bậc ba bậc l Giá trị yp̂ cho bởi: Một ví dụ số hạng khai triển bậc hai từ cập nhật ϵ^2 *g1*g2*∏(l)i=3*wi Số hạng bỏ qua ∏(l)i=3nhỏ, trở nên lớn theo cấp số nhân trọng số từ tầng đến l lớn Điều khiến cho việc chọn tốc độ học phù hợp trở nên khó khăn, ảnh hưởng cập nhật lên tham số cho tầng phụ thuộc lớn vào tầng khác Thuật toán tối ưu hóa bậc hai xử lý vấn đề cách tính tốn cập nhật sử dụng mối liên hệ bậc hai, ta thấy mạng nhiều tầng, mối liên hệ bậc cao đóng góp ảnh hưởng lớn Ngay thuật tốn tối ưu hóa bậc hai tốn mặt tính tốn thường địi hỏi vơ số phép xấp xỉ số học khiến chúng thực bao hàm tất liên hệ bậc hai Cho nên việc xây dựng thuật tốn tối ưu hóa với bậc n>2 khơng khả Vậy làm để thay thế? Phép chuẩn hóa theo lơ cung cấp cách thức tinh tế để tái tham số hóa gần mạng đa tầng Sự tái tham số hóa làm giảm đáng kể vấn đề điều phối cập nhật qua nhiều tầng Chuẩn hóa theo lơ áp dụng vào đầu vào hay tầng ẩn mạng Giả sử H lơ nhỏ hàm kích hoạt tầng ta chuẩn hóa, xếp theo ma trận thiết kế , với hàm kích hoạt cho ví dụ hàng ma trận Để chuẩn hóa H, ta thay bởi: μlà vector giá trị trung bình σ vector độ lệch chuẩn đơn vị Thuật toán dựa việc nhân rộng (broadcasting) vector μ vector σ vào hàng ma trận H Trong hàng, thuật toán thực theo phần tử, Hi,j chuẩn hóa cách trừ μj chia cho σj Sau đó, phần cịn lại mạng thực H′ với cách hoàn toàn giống mạng ban đầu thực H Tại thời điểm huấn luyện, δ giá trị dương nhỏ, để tránh gặp phải gradient không xác định √z z=0 Điều quan trọng ta lan truyền nghịch thông qua phép tốn để tính tốn trung bình độ lệch chuẩn, để áp dụng chúng cho việc chuẩn hóa H Điều có nghĩa gradient khơng đề xuất phép tốn để tăng độ lệch chuẩn giá trị trung bình hi phép tốn chuẩn hóa loại bỏ tác động hành động triệt tiêu thành phần gradient Các hướng tiếp cận trước bao gồm việc thêm mức phạt vào hàm chi phí để neuron có thống kê hàm kích hoạt chuẩn hóa, bao gồm việc can thiệp để chuẩn hóa lại thống kê neuron sau bước trượt gradient Cách tiếp cận thường gây việc chuẩn hóa khơng tốt, cịn hướng thứ hai thường tiêu tốn nhiều thời gian thuật tốn học phải lặp lặp lại việc thay đổi giá trị trung bình phương sai, bước chuẩn hóa lại loại bỏ thay đổi Phép chuẩn hóa theo lơ giúp tái tham số hóa mơ hình để khiến số neuron ln chuẩn hóa, qua khéo léo tránh hai vấn đề nêu Khi kiểm thử, μ σ thay trung bình thu thập q trình huấn luyện Điều cho phép mơ hình đánh giá mẫu đơn lẻ, mà không cần xác định μ σ, đại lượng phụ thuộc vào tồn lơ nhỏ Quay lại ví dụ yp̂ =xw1w2…wl, ta thấy ta giải khó khăn việc học mơ hình cách chuẩn hóa hl−1 Giả sử x chọn từ đơn vị Gauss, hl−1 phân phối chuẩn hl biến đổi tuyến tính từ x Thế nhưng, hl−1 khơng cịn giá trị trung bình phương sai Sau áp dụng chuẩn hóa theo lơ, ta thu hp̂ l−1 chuẩn hóa có lại tính chất trung bình phương sai Với gần cập nhật cho tầng thấp hơn, hp̂ l−1 đơn vị Gauss Đầu hp̂ sau học hàm tuyến tính đơn giản yp̂ =wlhp̂ l−1 Q trình học mơ hình trở nên đơn giản tham số tầng thấp khơng có ảnh hưởng phần lớn trường hợp; đầu chúng ln ln chuẩn hóa lại đơn vị Gauss Trong số trường hợp xảy ra, tầng thấp có ảnh hưởng Thay đổi trọng số tầng thấp khiến đầu dần suy giảm, đổi dấu trọng số lật ngược mối quan hệ hp̂ l−1 y Những tình xảy Nếu không thực chuẩn hóa, gần cập nhật ảnh hưởng mạnh hp̂ l−1 Phép chuẩn hóa theo lơ khiến việc học mơ hình trở nên dễ dàng nhiều Trong ví dụ trên, nguyên nhân khiến việc học trở nên dễ dàng tất nhiên đến từ việc khiến cho tầng thấp trở nên hữu dụng Trong ví dụ tuyến tính chúng tơi, tầng bên khơng cịn ảnh hưởng tiêu cực nào, đồng thời chúng khơng cịn mang lại lợi ích Điều chúng tơi chuẩn hóa thông kê bậc bậc hai Trong mạng neuron đa tầng với hàm kích hoạt phi tuyến, tầng thấp thực phép biến đổi phi tuyến liệu, chúng hữu ích Phép chuẩn hóa theo lơ chuẩn hóa trung bình phương sai đơn vị để ổn định việc học, cho phép thay đổi liên hệ đơn vị thống kê phi tuyến đơn vị Bởi lớp cuối mạng học phép biến đổi tuyến tính, thực tế ta muốn loại bỏ tất mối quan hệ tuyến tính đơn vị lớp Thật vậy, cách tiếp cận thực Desjardins cộng (2015), người đưa nguồn cảm hứng cho phép chuẩn hóa theo lơ Khơng may mắn việc loại bỏ tồn tương tác tuyến tính tốn mặt tính tốn nhiều so với việc chuẩn hóa trung bình độ lệch chuẩn đơn vị riêng biệt, chuẩn hóa hàng loạt cách tiếp cận thực tế Việc chuẩn hóa giá trị trung bình độ lệch chuẩn đơn vị làm giảm khả biểu đạt mạng neuron chứa đơn vị Để trì khả biểu đạt mạng, việc thay tồn hàm kích hoạt H đơn vị ẩn phổ biến γH′+β thay đơn giản H′ Các biến γ β tham số học cho phép biến có giá trị trung bình độ lệch chuẩn Thoạt nhìn, điều vơ nghĩa - ta thiết lập giá trị trung bình 0, sau lại đưa tham số cho phép gán trở lại giá trị β tùy ý nào? Câu trả lời phương pháp tham số hóa đại diện cho họ hàm đầu vào cách cũ, phương pháp có động lực học khác Trong phương pháp cũ, giá trị trung bình H xác định tương tác phức tạp tham số tầng bên H Trong phương pháp mới, giá trị trung bình γH′+βchỉ xác định β Việc học với phương pháp tham số hóa thuật toán trượt gradent trở nên dễ dàng nhiều Hầu hết tầng mạng nơron có dạng ϕ(XW+b), ϕ số hàm kích hoạt phi tuyến cố định, chẳng hạn chỉnh lưu tuyến tính Một cách tự nhiên, ta tự hỏi liệu ta nên áp dụng chuẩn hóa theo lô cho đầu vào Xhay giá trị chuyển đổi XW+b Ioffe Szegedy (2015) khuyến nghị sử dụng phương án thứ hai Cụ thể hơn, XW+b nên thay phiên chuẩn hóa XW Hệ số tự nên bỏ qua trở nên dư thừa với tham số β áp dụng phép tái tham số hóa phương pháp chuẩn hóa theo lơ Đầu vào tầng thường đầu hàm kích hoạt phi tuyến tầng trước Do đó, thống kê của đầu vào có khả đến từ phân phối chuẩn tuân theo chuẩn hóa phép tốn tuyến tính 5.4.2 Coordinate Descent (Trượt theo tọa độ) Trong số trường hợp, giải nhanh tốn tối ưu cách chia nhỏ thành phần riêng biệt Nếu ta cực tiểu hóa f(x) đơn biến xi, sau cực tiểu hóa biến xj khác, vân vân, lặp lại q trình qua tồn biến, đảm bảo ta đạt điểm cực tiểu (cục bộ) Thuật toán gọi trượt theo tọa độ (coordinate descent), ta tối ưu hóa tọa độ thời điểm Tổng quát hơn, trượt tọa độ theo khối(block coordinate descent) việc lúc cực tiểu hóa tập biến Thuật ngữ “trượt theo tọa độ” thường dùng để ám thuật toán trượt theo khối Thuật toán trượt theo tọa độ sử dụng hợp lý biến khác tốn tối ưu phân tách rõ ràng thành nhóm có vai trị tương đối lập nhau, việc tối ưu thực với nhóm biến hiệu tối ưu với tồn biến Ví dụ, xét hàm chi phí: Hàm mơ tả tốn học tập gọi mã hóa thưa (sparse coding), với mục đích tìm ma trận trọng số W giải mã (decode) tuyến tính ma trận giá trị kích hoạt H để tái tạo tập huấn luyện X Hầu hết ứng dụng mã hóa thưa sử dụng suy giảm trọng số ràng buộc chuẩn cột W, để tránh việc đạt kết với H cực nhỏ W cực lớn Hàm J không lồi Tuy nhiên, ta chia đầu vào thuật tốn huấn luyện thành hai tập: tham số từ điển W biểu diễn mã hóa H Cực tiểu hóa hàm mục tiêu hai tập biến toán tối ưu lồi Do đó, trượt tọa độ theo khối mang lại chiến lược tối ưu hóa cho phép ta sử dụng thuật tốn tối ưu hóa lồi hiệu quả, xen kẽ việc tối ưu hóa W với H cố định, sau tối ưu hóa H với W cố định 5.4.3 Polyak Averaging (Trung bình Polyak ) Trung bình Polyak [Polyak and Juditsky, 1992] bao gồm việc lấy trung bình số điểm quỹ đạo thơng qua khơng gian tham số mà thuật tốn tối ưu hóa qua Nếu tt vịng lặp thuật tốn trượt gradient qua điểm θ(1),…,θ(t)θ(1), …,θ(t), sau đầu thuật tốn trung bình Polyak Trong số lớp toán, chẳng hạn trượt gradient áp dụng toán lồi, cách tiếp cận gần chắn đạt hội tụ Khi áp dụng cho mạng neuron, phát biểu dựa kinh nghiệm nhiều hơn, hoạt động tốt thực tế Ý tưởng thuật tốn tối ưu hóa nhảy tới lui qua thung lũng nhiều lần mà không đạt đến điểm gần đáy thung lũng, trung bình tồn vị trí hai bên phải gần với đáy thung lũng Trong tốn khơng lồi, quỹ đạo tốn tối ưu phức tạp qua nhiều vùng khác Việc lấy điểm khơng gian tham số từ q khứ xa khơng mang lại hiệu Do đó, áp dụng trung bình Polyak cho tốn khơng lồi, ta thường sử dụng trung bình suy giảm theo cấp số nhân: 5.4.4 Supervised Pretraining (Tiền huấn luyện có giám sát) Đôi khi, viếc trực tiếp huấn luyện mơ hình để giải tác vụ cụ thể khó khăn mơ hình q phức tạp khó tối ưu, tác vụ có độ khó cao Đơi khi, giải pháp hiệu huấn luyện mơ hình đơn giản để giải tác vụ, sau làm cho mơ hình trở nên phức tạp dần Hoặc huấn luyện mơ hình để giải tác vụ đơn giản hơn, sau chuyển sang giải tác vụ cuối Những chiến lược bao gồm việc đào tạo mơ hình đơn giản để giải tác vụ đơn giản, trước huấn luyện mơ hình thực để giải tác vụ thực gọi chung tiền huấn luyện(pretraining) Các thuật toán tham lam (greedy algorithm) chia nhỏ toán thành nhiều thành phần, sau tìm lời giải tối ưu cho phần cách cô lập Thật không may, việc kết hợp thành phần tối ưu riêng lẻ không đảm bảo mang lại giải pháp tối ưu tổng thể Tuy nhiên, thuật tốn tham lam mang lại thuận lợi mặt tính tốn nhiều so với việc tìm giải pháp tối ưu cho tồn toán lúc, chất lượng thuật toán tham lam khơng phải tối ưu thường chấp nhận Thuật toán tham lam theo sau giai đoạn tinh chỉnh (fine-tuning) thuật tốn tối ưu hóa chung tìm kiếm giải pháp tối ưu cho tồn vấn đề Khởi tạo thuật tốn tối ưu hóa chung với giải pháp tham lam đẩy nhanh tốc độ cải thiện chất lượng giải pháp tìm Các thuật tốn tiền huấn luyện, đặc biệt tiền huấn luyện tham lam, sử dụng phổ biến học sâu Trong phần này, chúng tơi mơ tả cụ thể thuật tốn tiền huấn luyện chia nhỏ tốn học có giám sát thành tốn học có giám sát đơn giản Cách tiếp cận biết đến với tiên gọi tiền huấn luyện tham lam có giám sát (greedy supervised pretraining) Trong phiên [Bengio et al., 2007] tiền tham lam có giám sát, giai đoạn bao gồm tác vụ huấn luyện học có giám sát tập tầng mạng neuron Một ví dụ tiền huấn luyện tham lam có giám sát minh họa hình 8.7, tầng ẩn thêm vào tiền huấn luyện phần mạng perceptron đa tầng có giám sát với số tầng nhỏ, lấy đầu vào đầu tầng huấn luyện trước Thay tiền huấn luyện tầng thời điểm, Simonyan Zisserman (2015) tiền huấn luyện mạng tích chập đa tầng (với 11 tầng trọng số), sau sử dụng tầng 3tầng cuối từ mạng để khởi tạo mạng chí sâu (lên đến 19 tầng trọng số) Các tầng mạng khởi tạo ngẫu nhiên Mạng sau huấn luyện chung Một lựa chọn khác khám phá Yu cộng (2010) sử dụng kết đầu mạng perceptron đa tầng trước đó, đầu vào ban đầu, làm đầu vào cho giai đoạn thêm vào Tại tiền huấn luyện tham lam có giám sát hữu ích? Giả thuyết ban đầu thảo luận Bengio cộng (2007) giúp cung cấp dẫn tốt cho cấp độ trung gian hệ thống phân cấp đa tầng Nói chung, tiền huấn luyện hữu ích với tối ưu hóa tổng quát hóa Một cách tiếp cận khác liên quan đến tiền huấn luyện có giám sát mở rộng ý tưởng cho học chuyển tiếp (transfer learning): Yosinski cộng (2014) tiền huấn luyện mạng tích chập đa tầng với tầng trọng số tập tác vụ (một tập số 1,000 nhóm vật thể tập liệu ImageNet) sau khởi tạo mạng có kích thước với k tầng mạng Tất tầng mạng thứ hai (với tầng phía khởi tạo ngẫu nhiên) sau huấn luyện chung để thực tập nhiệm vụ khác (một tập hợp khác 1,000 loại vật thể tập liệu ImageNet), với số mẫu huấn luyện so với tập tác vụ Các hướng tiếp cận học chuyển tiếp khác với mạng neuron thảo luận phần 15.2 Một phương pháp liên quan khác cách tiếp cận FitNets Bắt đầu việc huấn luyện mạng có độ sâu (số tầng) đủ nhỏ độ rộng (số đơn vị tầng) đủ lớn để dễ dàng huấn luyện Mạng lưới sau trở thành giáo viên cho mạng thứ hai, coi học viên Mạng học viên sâu hẹp nhiều (có thể có 11 đến 19tầng) trở nên khó huấn luyện với trượt gradient ngẫu nhiên điều kiện thông thường Việc huấn luyện mạng học viên thực dễ dàng cách huấn luyện chúng để không để dự đoán đầu cho tác vụ ban đầu, mà cịn để dự đốn giá trị tầng trung gian mạng giáo viên Nhiệm vụ bổ sung cung cấp tập hợp gợi ý cách sử dụng tầng ẩn giúp đơn giản hóa tốn tối ưu Các tham số bổ sung đưa vào để thối hóa tầng trung gian $5% tầng mạng giáo viên từ tầng trung gian mạng học viên Thay dự đốn nhãn phân lớp cuối cùng, mục tiêu dự đoán tầng ẩn trung gian mạng giáo viên Các tầng mạng học viên có hai mục tiêu: để giúp đầu mạng học viên hoàn thành tác vụ chúng, để dự đoán tầng trung gian mạng giáo viên Mặc dù mạng mỏng sâu khó để huấn luyện mạng rộng nông, chúng lại có khả tổng quát hóa tốt chắn có chi phí tính tốn thấp chúng đủ hẹp (tức có tham số nhiều) Nếu khơng có gợi ý tầng ẩn, mạng học viên hoạt động tồi thực tế, tập huấn luyện kiểm thử Do đó, gợi ý tầng trung gian công cụ để giúp huấn luyện mạng neuron khó huấn luyện, kỹ thuật tối ưu hóa khác thay đổi kiến trúc mạng giải vấn đề 5.4.5 Designing Models to Aid Optimization(Thiết kế mơ hình để hỗ trợ q trình tối ưu hóa) Để cải thiện hiệu suất tối ưu hóa, chiến lược tốt khơng phải lúc cải thiện thuật tốn tối ưu hóa Thay vào đó, nhiều cải tiến hiệu suất tối ưu hóa mơ hình sâu đến từ việc thiết kế mơ hình dễ dàng tối ưu Về ngun tắc, ta sử dụng hàm kích hoạt tăng giảm mô thức không đơn điệu, điều khiến việc tối ưu hóa khó khăn Trong thực tế, việc chọn họ mơ hình mà dễ dàng tối ưu quan trọng sử dụng thuật tốn tối ưu hóa mạnh mẽ Hầu hết tiến việc học mạng neuron ba mươi năm qua thu cách thay họ đổi mơ hình thay thay đổi thủ tục tối ưu hóa Trượt gradient ngẫu nhiên với động lượng, vốn sử dụng để huấn luyện mạng neuron năm 1980, sử dụng ứng dụng mạng neuron đại có kết tốt Đặc biệt, mạng neuron đại phản chiếu lựa chọn thiết kế để sử dụng phép biến đổi tuyến tính tầng hàm kích hoạt khả vi hầu hết nơi, với độ dốc đáng kể phần lớn miền xác định chúng Đặc biệt, mơ hình cải tiến nhớ ngắn hạn hướng dài hạn, chỉnh lưu tuyến tính cực đại đầu chuyển sang sử dụng nhiều hàm tuyến tính thay mơ hình trước mạng đa tầng dựa đơn vị dạng chữ S Các mơ hình có thuộc tính tốt giúp việc tối ưu hóa dễ dàng Gradient truyền qua nhiều tầng với điều kiện định thức Jacobi phép biến đổi tuyến tính có giá trị suy biến hợp lý Hơn nữa, hàm tuyến tính ln tăng theo hướng nhất, đầu mơ hình thiếu xác, việc tính tốn gradient mà hướng đầu nên di chuyển để giảm hàm mát dễ dàng Nói cách khác, mạng neuron đại thiết kế cho thông tin gradient cục tương thích tốt để di chuyển phía giải pháp xa Các chiến lược thiết kế mơ hình khác giúp việc tối ưu hóa dễ dàng Ví dụ, đường dẫn tuyến tính kết nối bỏ qua (skip connection) tầng làm giảm chiều dài đường ngắn từ tham số tầng thấp đến đầu ra, giảm nhẹ vấn đề tiêu biến gradient Một ý tưởng liên quan đến kết nối bỏ qua thêm bổ sung đầu để gắn vào tầng ẩn trung gian mạng, GoogLeNet mạng có giám sát chặt chẽ Các “đầu bổ trợ” huấn luyện để thực tác vụ tương tự đầu đỉnh mạng giúp đảm bảo tầng thấp nhận gradient lớn Khi hồn thành huấn luyện, đầu bổ trợ bị loại bỏ Đây giải pháp thay cho chiến lược tiền huấn luyện, giới thiệu phần trước Theo cách này, người ta huấn luyện lúc tất tầng giai đoạn thay đổi kiến trúc, để tầng trung gian (đặc biệt tầng thấp hơn) nhận số gợi ý chúng nên làm, thơng qua đường ngắn Những gợi ý cung cấp tín hiệu sai số cho tầng thấp VI Demo mã nguồn 6.1 Human detection Code : https://github.com/thangnx183/human_detection Video demo : https://www.youtube.com/watch?v=TSLU5Czfl34&t=203s 6.2 Backpropagation by numpy python Code : https://github.com/thangnx183/layerByLayer/blob/master/nnet.py 6.3 Using VGG16 for classifier Code : https://github.com/thangnx183/transfer-vgg16 VII Tài liệu tham khảo: Deep learning book - Ian Goodfellow, Yoshua Bengio, Aaron Courville Diễn đàn machine learning - VuHuuTiep Machine Learning - Andrew Ng - https://www.coursera.org ... Hà Quang Thụy Chúng em cảm ơn thời gian vừa qua, thầy tận tình bảo, hướng dẫn chúng em tiếp thu kiến thức hoàn thành tiểu luận Chúng em xin chân thành cảm ơn thầy Mục Lục I Tổng quan deep learning. .. Chúng em xin chân thành cảm ơn thầy Mục Lục I Tổng quan deep learning 1.1 Khái niệm Deep Learning Học sâu (Deep Learning) lĩnh vực học máy mở rộng, cho phép huấn luyện AI dự đốn đầu dựa vào tập... deep deep learning đề cập đến chiều sâu kiến trúc mạng neural nhân tạo, việc học tập viết tắt việc học thơng qua mạng neural nhân tạo Hình 1-3 đại diện xác khác biệt mạng sâu nông thuật ngữ deep

Ngày đăng: 04/08/2020, 00:48

Từ khóa liên quan

Mục lục

  • I. Tổng quan deep learning.

    • 1.1 Khái niệm Deep Learning

    • 1.2 Thế nào là “sâu”

    • 1.3 Khái niệm mạng neural nhân tạo

    • 1.4 Cấu trúc cơ bản của mạng Neural nhân tạo

    • II.Lan truyền ngược và các vấn đề liên quan.

      • 2.1 Các loại mạng neural

      • 2.2 Feedforward Neural Networks

      • 2.3 Convolutional Neural Networks

      • 2.4 Recurrent Neural Networks

      • 2.5 Encoder-Decoder Networks

      • 2.6 Recursive Neural Networks

      • 2.7 Stochastic Gradient Descent

        • 2.7.1Gradient Descent là gì

        • 2.7.2 Stochastic Gradient Descent

        • 2.8 Multilayer Perceptrons

          • 2.8.1 Các khái niệm:

          • 2.8.2 Các Activation function thường dùng:

          • 2.8 3 Nhược điểm của Tanh và sigmoid

          • 2.8.4 Activation function (ReLU):

          • 2.9 Backpropagation

            • 2.9.1 Giới thiệu

            • 2.9.2 Tư tửởng thuật toán

            • 2.9.3 Việc tính toán các đạo hàm khi sử dụng SGD

              • a. Backpropagation cho Stochastic Gradient Descent

              • b. Backpropagation cho Batch (mini-batch) Gradient Descent

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan