Bạn có thể sử dụng lớp LeakyRelu , như trong lớp python, thay vì chỉ xác định tên chuỗi như trong ví dụ của bạn. Nó hoạt động tương tự như một lớp bình thường.
Nhập LeakyReLU và khởi tạo mô hình
from keras.layers import LeakyReLU
model = Sequential()
# here change your line to leave out an activation
model.add(Dense(90))
# now add a ReLU layer explicitly:
model.add(LeakyReLU(alpha=0.05))
Có thể chỉ đơn giản là viết ví dụ activation='relu'
được thực hiện nhờ các bí danh đơn giản được tạo trong mã nguồn.
Đối với câu hỏi thứ hai của bạn:
cài đặt chung tốt nhất để điều chỉnh các tham số của LeakyRelu là gì? Và khi hiệu suất của nó tốt hơn đáng kể so với Relu?
Tôi không thể cung cấp cho bạn các cài đặt tối ưu cho LeakyReLU, tôi sợ - chúng sẽ phụ thuộc vào mô hình / dữ liệu.
Sự khác biệt giữa ReLU và LeakyReLU là khả năng của cái sau giữ được một mức độ nào đó của các giá trị âm chảy vào nó, trong khi cái trước chỉ đơn giản đặt tất cả các giá trị nhỏ hơn 0 thành 0. Về lý thuyết, phạm vi đầu ra mở rộng này cung cấp một linh hoạt cao hơn một chút cho mô hình sử dụng nó. Tôi chắc chắn rằng các nhà phát minh nghĩ rằng nó hữu ích và có lẽ đã chứng minh rằng đó là trường hợp cho một vài điểm chuẩn. Tuy nhiên, trên thực tế, mọi người thường chỉ sử dụng ReLU, vì lợi ích của LeakyReLU không nhất quán và ReLU rẻ hơn để tính toán và do đó các mô hình đào tạo nhanh hơn một chút.