Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.58 MB, 11 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
TRƯỜNG ĐẠI HỌC THỦY LỢI
<b>KHOA CÔNG NGHỆ THƠNG TIN</b>
Giáo viên hướng dẫn: Nguyễn Thị Kim NgânHọc viên thực hiện:
Nguyễn Duy Anh - 2051060385 – 62TH1Bùi Tuấn Minh – 2051063681 – 62TH1Bùi Tiến Đạt – 2051063915 – 62TH1
<b>1. Mạng nơ-ron hồi tiếp (RNN):</b>
Thời điểm t tương ứng với bước t trong một vòng lặp. Giả sử, tại bước thời gian t ta có: Đầu vào:
Ht Rn x h là biến ẩn tại bước thời gian t của chuỗi ∈
Đầu ra tại bước thời gian t:
<b>2.Nút hồi tiếp có cổng (GRU):</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">nào nên cập nhật và khi nào nên xóa trạng thái ẩn
<b>a. Nếu ký tự đầu tiên có mức độ quan trọng cao, mơ hình sẽ học để khơng cập nhật </b>
trạng thái ẩn sau lần quan sát đầu tiên
<b>b. Học cách bỏ qua những quan sát tạm thời không liên quan, cũng như cách xóa </b>
trạng thái ẩn khi cần thiết
*Hoạt động của Cổng Xóa:
Để giảm ảnh hưởng của các trạng thái trước đó, ta nhân với theo từng phần tử
Nếu các phần tử của có giá trị gần với 1 , kết quả sẽ giống RNN thông thường Nếu tất cả các phần tử của gần với 0 , trạng thái ẩn sẽ là đầu ra của một
perceptron đa tầng với đầu vào là . Bất kỳ trạng thái ẩn nào tồn tại trước đó đều được đặt lại về giá trị mặc định
Tại đây , nó được gọi là trạng thái ẩn tiềm năng:
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">Các mạng GRU có hai tính chất nổi bật sau:
Cổng xóa giúp nắm bắt các phụ thuộc ngắn hạn trong chuỗi thời gian. Cổng cập nhật giúp nắm bắt các phụ thuộc dài hạn trong chuỗi thời gian
<b>3.Bộ nhớ ngắn hạn dài (LSTM):</b>
*Bộ nhớ Ngắn hạn Dài (LSTM):
Khi nào cần nhớ và khi nào nên bỏ qua đầu vào trong trạng thái tiềm ẩn? Mạng LSTM được thiết kế gồm 3 cổng:
Cổng đầu ra (ouput gate): để đọc các thông tin từ ô nhớ
Cổng đầu vào (input gate): để quyết định khi nào cần ghi dữ liệu vào ô nhớ
Cổng quên (forget gate): để thiết lập lại nội dung chứa trong ô nhớ , và được xử lý bởi một tầng kết nối đầy đủ và một hàm kích hoạt
sigmoid để tính tốn các giá trị của các cổng.*Cổng đầu vào, Cổng quên, Cổng đầu ra
Giả sử có h nút ẩn, mỗi minibatch có kích thước n và kích thước đầu vào là d
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">*Ô nhớ Tiềm năng:
*Ô nhớ
điều chỉnh lượng dữ liệu mới được lấy vào thông qua
chỉ định lượng thông tin cũ cần giữ lại trong ô nhớ
Nếu xấp xỉ bằng 1 và xấp xỉ bằng 0 , thì giá trị ô nhớ trong quá khứ sẽ được lưu lại qua thời gian và truyền tới bước thời gian hiện tại
Thiết kế này nhằm giảm bớt sự tiêu biến gradient , nắm bắt các phụ thuộcdài hạn trong chuỗi thời gian tốt hơn
Trạng thái ẩn
Giá trị của luôn nằm trong khoảng (− 1 , 1 )
Nếu giá trị của cổng đầu ra là 1 , tồn bộ thơng tin trong ô nhớ được đưa tới bộ dự đoán
Nếu giá trị của cổng đầu ra là 0 , tất cả các thông tin trong ô nhớ được giữ
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>Phần 2: Ứng dụng trong thực tế</b>
1. .Mô tả bài toán
- Tên bài toán: Dự Đoán Nhiệt Độ Của Thành Phố
- Mục đích của bài tốn: Sử dụng thuật toán mạng No ron hồi tiếp để dự đoán nhiệt độ của thành phố Jena. Sử dụng bộ dữ liệu chuỗi thời gian Jena Climate Dataset để train, test
- Input: Mảng dữ liệu 2 chiều gồm các yếu tố đánh giá nhiệt độ - Ouput: Nhiệt độ của thành phố sau 10 phút
- Tóm tắt cơng việc thực hiện của bài toán:+ Đọc dữ liệu từ file CSV
+ Tạo các tập dữ liệu liên tục
+ Chia dữ liệu train theo tỷ lệ 80% train, 20% test
+ Chia dữ liệu của 80% train được chia sang thành 90% train và 10% validation+ Sử dụng RNN (Convolutional Neural Network), GRU, và LSTM để giải quyết bài tốn.
2. Mơ tả tập dữ liệu của bài tốn- Dữ liệu gồm những chiều thơng tin:
sh (g/kg): độ ẩm cụ thể H2OC (mmol/mol): nồng độ hơi nước rho (g/m ** 3): kín gió
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">wv (m/s): Tốc độ gió max. T (degC): Nhiệt độ đo bằng độ C- Có: 420551 mẫu dữ liệu.
- Mô tả nhãn lớp của dữ liệu: Nhãn là nhiệt độ của thành phố cập nhật sau 10 phút- Mô tả ma trận dữ liệu (X), nhãn lớp (Y):
Ma trận dữ liệu (X) gồm p(mbar), VPmax (mbar), VPact (mbar), VPdef (mbar), sh (g/kg), rho (g/m ** 3), wv (m/s), T (degC)
Nhãn lớp (Y): T (degC) sau 10 phút- Chia tập dữ liệu thành 3 phần:
+ Chia dữ liệu train theo tỷ lệ 80% train, 20% test
+ Chia dữ liệu của 80% train được chia sang thành 90% train và 10% validation3. Thiết kế mơ hình
- Trình bày thiết kế mạng nơ ron tương ứng với các phương pháp RNN, GRU,LSTM để thực hiện bài toán.
- RNN:
- model= Sequential()
- model.add(SimpleRNN(120, activation='relu', kernel_initializer='he_normal',
input_shape X_train=( .shape[1], X_train.shape[ ])))2
- model.add(Dense(120, activation='relu', kernel_initializer='he_normal'))- model.add(Dense(32, activation='relu',
kernel_initializer='he_normal'))- model.add(Dense( ))1
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">- model.add(Dense(100, activation='relu', kernel_initializer='he_normal'))- model.add(BatchNormalization())- model.add(Dropout(0.3))
- model.add(Dense(32, activation='relu', kernel_initializer='he_normal'))- model.add(Dense( ))1
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">- LSTM:
- model= Sequential()
- model.add(LSTM(120, activation='relu', kernel_initializer='he_normal',
input_shape X_train=( .shape[1], X_train.shape[ ])))2
- model.add(Dense(120, activation='relu', kernel_initializer='he_normal'))- model.add(Dense(32, activation='relu',
kernel_initializer='he_normal'))- model.add(Dense( ))1
- model.compile(optimizer='adam', loss='mse', metrics=['mae'])
- model.fit(X_train y_train epochs, , =10, batch_size=128, verbose= , validation_data X_val y_val=( , ))
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">4. Kết quả thực nghiệm
- So sánh chất lượng của các mơ hình RNN, GRU, LSTM trên tập test.- RNN đạt kết quả R2 cao nhất:
R2 score: 0.9863381511565955MAE: 0.48670572
MSE: 0.9702317RMSE: 0.9850034
- LSTM đạt kết quả R2 cao thứ nhì:
R2 score: 0.9775396814770307MAE: 0.41473407
MSE: 1.5950778RMSE: 1.2629639
- GRU đạt kết quả tương đối:
R2 score: 0.961571848187065MAE: 1.2361729
MSE: 2.7290752RMSE: 1.6519912
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>Tài liệu tham khảo</b>
- Các tài liệu được tham khảo trong báo cáo:
<b>Slide bài giảng môn Học Sâu, trường Đại Học Thủy Lợi</b>
</div>