14天動手學深度學習 Task2

2021-10-03 01:19:19 字數 1515 閱讀 7806

一、梯度消失、梯度**以及kaggle房價**

隨機初始化模型引數

在神經網路中,通常需要隨機初始化模型引數。下面我們來解釋這樣做的原因。

如果將每個隱藏單元的引數都初始化為相等的值,那麼在正向傳播時每個隱藏單元將根據相同的輸入計算出相同的值,並傳遞至輸出層。**在反向傳播中,每個隱藏單元的引數梯度值相等。因此,這些引數在使用基於梯度的優化演算法迭代後值依然相等。**之後的迭代也是如此。在這種情況下,無論隱藏單元有多少,隱藏層本質上只有1個隱藏單元在發揮作用。因此,正如在前面的實驗中所做的那樣,我們通常將神經網路的模型引數,特別是權重引數,進行隨機初始化。

二、考慮環境因素

協變數偏移:協變數偏移p(y∣x),同理可以假設為在x不變的情況下y的概率,而現實是x發生了變化導致y發生了變化,所以就發生了協變數偏移,x為變數。

標籤偏移:標籤偏移是在p(x∣y),在y的條件下x的概率,可以假設為y不變的情況下x的概率,而現實是y導致x發生了變化,而y是變化的所以就發生了標籤偏移,因為y是標籤。

概念偏移:另乙個相關的問題出現在概念轉換中,即標籤本身的定義發生變化的情況。這聽起來很奇怪,畢竟貓就是貓。的確,貓的定義可能不會改變,但我們能不能對軟飲料也這麼說呢?事實證明,如果我們周遊美國,按地理位置轉移資料**,我們會發現,即使是如圖所示的這個簡單術語的定義也會發生相當大的概念轉變。

如果我們要建立乙個機器翻譯系統,分布p(y∣x)可能因我們的位置而異。這個問題很難發現。另乙個可取之處是p(y∣x)通常只是逐漸變化。

三、迴圈神經網路高階

grurnn存在的問題:梯度較容易出現衰減或**(bptt)

⻔控迴圈神經⽹絡:捕捉時間序列中時間步距離較⼤的依賴關係

長短期記憶long short-term memory :

遺忘門:控制上一時間步的記憶細胞 輸入門:控制當前時間步的輸入

輸出門:控制從記憶細胞到隱藏狀態

記憶細胞:⼀種特殊的隱藏狀態的資訊的流動

深度迴圈神經網路

實現深層迴圈神經網路需要修改的引數是:

num_layers

雙向迴圈神經網路

雙向迴圈神經網路前向和後向rnn鏈結的方式是:

前向的ht和後向的ht用concat進行鏈結。

#在這裡放入需要修改顏色的語句#

深度學習Task2

讀入文字 分詞建立字典,將每個詞對映到乙個唯一的索引 index 將文字從詞的序列轉換為索引的序列,方便輸入模型 課後練習 語言模型 假設序列w1 w2 wt中的每個詞是依次生成的,我們有 語言模型的引數就是詞的概率以及給定前幾個詞情況下的條件概率。設訓練資料集為乙個大型文字語料庫,如維基百科的所有...

動手學資料分析 Task 2

常用的函式有dropna 和fillna dataframe.dropna axis 0,how any thresh none,subset none,inplace false 屬性說明 預設引數axis 0,根據索引 index 刪除指定的行 axis 1,根據列名 columns 刪除指定的...

動手學深度學習 task01

task 1 線性回歸 多層感知機 softmax函式 1 線性回歸作為基本的機器學習演算法,實現較簡單,應用廣泛。以下為用pytorch編寫的線性回歸類 import torch.nn as nn import torch from torch.autograd import variable f...