pytorch 學習筆記(三) 激勵函式

2022-06-30 10:57:06 字數 1931 閱讀 9219

學習自:莫煩python

一句話概括 activation: 就是讓神經網路可以描述非線性問題的步驟, 是神經網路變得更強大

1.啟用函式是用來加入非線性因素的,解決線性模型所不能解決的問題。

2.激勵函式要考慮到線性所收到的約束條件,也就是掰彎線性函式

3.它其實就是另外乙個非線性函式. 比如說relu, sigmoid, tanh. 將這些掰彎利器巢狀在原有的結果之上, 強行把原有的線性結果給扭曲了. 使得輸出結果 y 也有了非線性的特徵.

1.你的神經網路層只有兩三層, 不是很多的時候, 對於隱藏層, 使用任意的激勵函式, 隨便掰彎是可以的, 不會有特別大的影響

2.當你使用特別多層的神經網路, 在掰彎的時候, 玩玩不得隨意選擇利器. 因為這會涉及到梯度**, 梯度消失的問題.

1.在少量層結構中, 我們可以嘗試很多種不同的激勵函式

2.在卷積神經網路 convolutional neural networks 的卷積層中, 推薦的激勵函式是 relu

3.在迴圈神經網路中 recurrent neural networks, 推薦的是 tanh 或者是 relu

import torch

import torch.nn.functional as f # 激勵函式都在這

from torch.autograd import variable

import matplotlib.pyplot as plt

# 做一些假資料來**影象

# 函式的作用是,返回乙個一維的tensor(張量),這個張量包含了從start到end,分成steps個線段得到的向量。常用的幾個變數

x = torch.linspace(-5, 5, 200)#生成線性的空間

x = variable(x)#轉化成張量

x_np = x.data.numpy() # 換成 numpy array, 出圖時用

# 幾種常用的 激勵函式

y_relu = f.relu(x).data.numpy()

y_sigmoid = f.sigmoid(x).data.numpy()

y_tanh = f.tanh(x).data.numpy()

y_softplus = f.softplus(x).data.numpy()

# y_softmax = f.softmax(x) softmax 比較特殊, 不能直接顯示, 不過他是關於概率的, 用於分類

#將掰彎後的線性函式顯示出來

pytorch 學習筆記(三)

import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import dataloader import torch.nn.functional as...

Pytorch 學習筆記

本渣的pytorch 逐步學習鞏固經歷,希望各位大佬指正,寫這個部落格也為了鞏固下記憶。a a b c 表示從 a 取到 b 步長為 c c 2 則表示每2個數取1個 若為a 1 1 1 即表示從倒數最後乙個到正數第 1 個 最後乙個 1 表示倒著取 如下 陣列的第乙個為 0 啊,第 0 個!彆扭 ...

Pytorch學習筆記

資料集 penn fudan資料集 在學習pytorch官網教程時,作者對penn fudan資料集進行了定義,並且在自定義的資料集上實現了對r cnn模型的微調。此篇筆記簡單總結一下pytorch如何實現定義自己的資料集 資料集必須繼承torch.utils.data.dataset類,並且實現 ...