- Bài 1: Giới thiệu
- Bài 2: Cài đặt
- Bài 3: Cấu hình backend
- Bài 4: Tổng quan về Deep learning
- Bài 5: Deep learning
- Bài 6: Mô đun
- Bài 7: Layers (phần 1)
- Bài 8: Layers (Phần 2)
- Bài 9: Tuỳ chỉnh Layer
- Bài 10: Models
- Bài 11: Tổng hợp Model (Phần 1)
- Bài 12: Tổng hợp Model (Phần 2)
- Bài 13: Đánh giá và dự đoán mô hình
- Bài 14: Convolution Neural Network
- Bài 15: Dự đoán hồi quy sử dụng MPL
- Bài 16: Dự đoán chuỗi thời gian bằng LSTM RNN
- Bài 17: Ứng dụng
- Bài 18: Dự đoán thời gian thực với mô hình ResNet
- Bài 19: Pre-Trained Models
Bài 8: Layers (Phần 2) - Keras cơ bản
Đăng bởi: Admin | Lượt xem: 2573 | Chuyên mục: AI
3. Constraints ( Ràng buộc)
Trong học máy, một ràng buộc sẽ được đặt trên tham số (trọng số) trong giai đoạn tối ưu hóa. Mô-đun ràng buộc cung cấp các hàm khác nhau để thiết lập ràng buộc trên lớp. Một số hàm ràng buộc như sau.
a. NonNeg
Ràng buộc trọng số là giá trị không âm.
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import initializers
my_init = initializers.Identity(gain = 1.0) model.add(
Dense(512, activation = 'relu', input_shape = (784,),
kernel_initializer = my_init)
)
Trong đó :
kernel_constraint đại diện ràng buộc được sử dụng trong lớp.
b. UnitNorm
Ràng buộc trọng số là định mức đơn vị.
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import constraints
my_constrain = constraints.UnitNorm(axis = 0)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_constraint = my_constrain))
c. MaxNorm
Giới hạn trọng số ở định mức nhỏ hơn hoặc bằng giá trị đã cho.
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import constraints
my_constrain = constraints.MaxNorm(max_value = 2, axis = 0)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_constraint = my_constrain))
Trong đó :
- max_value là giới hạn trên
- axis là số chiều mà ràng buộc sẽ được áp dụng. ví dụ. trong shape (2,3,4) trục 0 biểu thị kích thước thứ nhất, 1 biểu thị kích thước thứ hai và 2 biểu thị kích thước thứ ba
d. MinMaxNorm
Ràng buộc trọng số là chuẩn giữa các giá trị tối thiểu và tối đa được chỉ định.
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import constraints
my_constrain = constraints.MinMaxNorm(min_value = 0.0, max_value = 1.0, rate = 1.0, axis = 0)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_constraint = my_constrain))
Trong đó, rate là tốc độ áp dụng giới hạn trọng số.
4. Regularizers
Trong học máy, regularizers được sử dụng trong giai đoạn tối ưu hóa. Nó áp dụng một số hình phạt trên tham số layer trong quá trình tối ưu hóa. Model regularization Keras cung cấp các hàm sau để thiết lập các hình phạt trên layer.Regularization chỉ áp dụng trên cơ sở từng layer.
a. L1 Regularizer
Được cung cấp L1 dựa trên regularization :
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import regularizers
my_regularizer = regularizers.l1(0.)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_regularizer = my_regularizer))
b. L2 Regularizer
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import regularizers
my_regularizer = regularizers.l2(0.)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_regularizer = my_regularizer))
c. L1 và L2 Regularizer
from keras.models import Sequential
from keras.layers import Activation, Dense
from keras import regularizers
my_regularizer = regularizers.l2(0.)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,),
kernel_regularizer = my_regularizer))
5. Activations
Trong học máy, hàm activation là một hàm đặc biệt được sử dụng để tìm xem một nơron cụ thể có được kích hoạt hay không. Về cơ bản, hàm activation thực hiện một sự biến đổi phi tuyến tính của dữ liệu đầu vào và do đó cho phép các nơron tốt hơn. Đầu ra của một nơron phụ thuộc vào hàm activation.
Khi bạn nhớ lại khái niệm nhận thức đơn lẻ, đầu ra của một tế bào cảm thụ (neuron) chỉ đơn giản là kết quả của hàm activation, hàm này chấp nhận tổng của tất cả đầu vào nhân với trọng số tương ứng của nó cộng với độ lệch tổng thể, nếu có.
result = Activation(SUMOF(input * weight) + bias)
Vì thế, hàm activation đóng một vai trò quan trọng trong việc học thành công mô hình. Keras cung cấp rất nhiều hàm trong mô-đun activation
a. linear
Áp dụng hàm tuyến tính
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'linear', input_shape = (784,)))
Trong đó, activation đề cập đến hàm kích hoạt của lớp. Nó có thể được chỉ định đơn giản bằng tên của hàm và lớp sẽ sử dụng các trình kích hoạt tương ứng.
b. elu
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'elu', input_shape = (784,)))
c. selu
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'selu', input_shape = (784,)))
d. relu
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784,)))
e. softmax
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'softmax', input_shape = (784,)))
f. softplus
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'softplus', input_shape = (784,)))
g. softsign
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'softsign', input_shape = (784,)))
h. tanh
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'tanh', input_shape = (784,)))
i. sigmoid
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'sigmoid', input_shape = (784,)))
k. hard_sigmoid
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'hard_sigmoid', input_shape = (784,)))
l. exponential
from keras.models import Sequential
from keras.layers import Activation, Dense
model = Sequential()
model.add(Dense(512, activation = 'exponential', input_shape = (784,)))
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Giới thiệu
- Bài 2: Cài đặt
- Bài 3: Cấu hình backend
- Bài 4: Tổng quan về Deep learning
- Bài 5: Deep learning
- Bài 6: Mô đun
- Bài 7: Layers (phần 1)
- Bài 8: Layers (Phần 2)
- Bài 9: Tuỳ chỉnh Layer
- Bài 10: Models
- Bài 11: Tổng hợp Model (Phần 1)
- Bài 12: Tổng hợp Model (Phần 2)
- Bài 13: Đánh giá và dự đoán mô hình
- Bài 14: Convolution Neural Network
- Bài 15: Dự đoán hồi quy sử dụng MPL
- Bài 16: Dự đoán chuỗi thời gian bằng LSTM RNN
- Bài 17: Ứng dụng
- Bài 18: Dự đoán thời gian thực với mô hình ResNet
- Bài 19: Pre-Trained Models