28.04.2020 Views

Sách Deep Learning cơ bản

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12. Các kỹ thuật cơ bản trong deep learning

Bài này tôi tổng hợp một số kĩ thuật để train model tốt hơn, cũng như một số khái niệm bạn sẽ gặp

khi làm việc với deep learning. Đầu tiên tôi nói về tầm quan trọng của vectorization, tiếp tôi sẽ

nói về kĩ thuật mini-batch gradient descent với lượng dữ liệu lớn. Sau đó tôi nói về bias, variance,

cách đánh giá bias-variance trong model và một số biện pháp để giải quyết vấn đề high bias, high

variance. Tôi có giải thích về kĩ thuật dropout để tránh overfitting. Phần cuối tôi nói về vanishing và

exploding gradient, cũng như giới thiệu một số hàm activation function phổ biến và cách chọn hàm

activation.

12.1 Vectorization

Ngay từ bài đầu tiên về linear regression, tôi đã giới thiệu về việc biểu diễn và tính toán dưới dạng

vector. Việc biểu diễn bài toán dưới dạng vector như vậy gọi là vectorization. Nó không chỉ giúp

code gọn lại mà còn tăng tốc độ tính đoán một cách đáng kể khi thực hiện các phép tính trên vector,

ma trận so với for-loop.

# -*- coding: utf-8 -*-

import numpy as np

import time

a = np.random.rand(10000000)

b = np.random.rand(10000000)

start = time.time()

c = np.dot(a, b.T)

end = time.time()

print("Vectorization time : ", end-start)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!