intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Trí tuệ nhân tạo: Chương 8 - TS. Nguyễn Văn Hiệu

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:16

2
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Trí tuệ nhân tạo" Chương 8: Neural Networks, trình bày kiến thức nền tảng về mạng nơ-ron nhân tạo, cấu trúc mạng nhiều lớp (MLP), quá trình lan truyền tiến và lan truyền ngược (backpropagation), cùng các hàm kích hoạt phổ biến. Bài học giúp người học hiểu rõ cách mạng nơ-ron học và dự đoán, làm nền tảng cho deep learning và các ứng dụng AI hiện đại.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Trí tuệ nhân tạo: Chương 8 - TS. Nguyễn Văn Hiệu

  1. TRÍ TUỆ NHÂN TẠO LOGO Khoa Công Nghệ Thông Tin KHOA TS. Nguyễn Văn Hiệu
  2. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu TRÍ TUỆ NHÂN TẠO Chương 8: Neural Networks
  3. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Nội dung • Giới thiệu • Neural Networks • Demo 3
  4. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Giới thiệu ● Mạng nơ-ron được cấu thành từ các nơron đơn lẻ được gọi Perceptron ● Sigmoid Neurons Neural Network. . Source: https://cs231n.github.io/
  5. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Giới thiệu ● Sigmoid Neurons class Neuron(object): # ... def forward(self, inputs): # assume inputs and weights and bias cell_body_sum = np.sum(inputs * self.weights) + self.bias # sigmoid activation function firing_rate = 1.0 / (1.0 + math.exp(-cell_body_sum)) return firing_rate
  6. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Kiến trúc Neural Networks • Mạng Neural networks có 3 kiểu tầng • Mỗi node trong hidden layer và output layer: - Liên kết tất cả với các node ở layer trước đó với hệ số riêng w - Mỗi node có một hệ số bias riêng - Diễn ra 2 bước: tính tổng linear và tính activation function
  7. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Kiến trúc Neural Networks
  8. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Kiến trúc Neural Networks ● ●
  9. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Lan truyền tiến
  10. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Học với Neural Network • Loss function • SGD:
  11. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Lan truyền ngược • Bước 1: • Bước 2:
  12. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Lan truyền ngược • Bước 3: • Bước 4:
  13. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Demo class NN(): def __init__(self, layers): self.layers = layers self.L = len(layers) self.w = [np.random.randn(l2, l1 + 1) for l2, l1 in zip(layers[1:], layers[:-1])]
  14. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Demo class NN(): def feedforward(self, x): z = [] a = [self.add_bias(x)] for l in range(1, self.L): z_l = np.dot(self.w[l], a[l-1]) a_l = self.sigmoid(z_l) if l < self.L - 1: a_l = self.add_bias(a_l) z.append(z_l) a.append(a_l) return (z, a)
  15. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu Demo class NN(): def backprop(self, x, y): w_grad = [np.zeros(W.shape) for W in self.w] z, a = self.feedforward(x) # feedforward dz = a[-1] - y # backward for _l in range(1, self.L): l = -_l # layer index if l < -1: da = self.sigmoid_grad(z[l]) dz = np.dot(self.w[l+1][:, 1:].transpose(), dz) * da w_grad[l] = np.dot(dz, a[l-1].transpose()) # gradient return w_grad def add_bias(self, a): return np.insert(a, 0, 1, axis=0) def sigmoid(self, z): return 1.0 / (1.0 + np.exp(-z)) def sigmoid_grad(self, z): s = self.sigmoid(z) return s * (1 - s)
  16. Khoa Công Nghệ Thông Tin LOGO KHOA TS. Nguyễn Văn Hiệu
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0