首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ReLU实现从3层神经网络到深度学习

用ReLU实现从3层神经网络到深度学习
EN

Stack Overflow用户
提问于 2016-12-06 11:55:04
回答 1查看 30关注 0票数 0

如果我没理解错的话,我可以将3-Layered NN转换为DL NN,方法是在the hidden layer之后添加一个RelU,然后重复hidden layer + RelU

我很难想象维度是如何工作的。现在,我从一个small library中获得了以下内容,这样我就可以理解这些概念了

代码语言:javascript
复制
M = 784 # 28 x 28 pixels
N = 512 # hidden neurons
P = 10 # number of possible classes

w1 = np.random.normal(0.0, pow(10, -0.5), (M, N))
w2 = np.random.normal(0.0, pow(10, -0.5), (N, P))

b1 = np.random.normal(0.0, pow(10, -0.5), (N))
b2 = np.random.normal(0.0, pow(10, -0.5), (P))

x = Input(w1, b1)
h = Hidden(x, w2, b2)
g = Softmax(h)
cost = CrossEntropy(g) # numpy.mean(CrossEntropy) over BATCH SIZE

train_data()

但是我想去

代码语言:javascript
复制
x = Input(w1, b1)
h = Hidden(x, w2, b2)
r = ReLU(h) 
h2 = Hidden(r, ??, ??) # 1
r2 = ReLU(h2)          # 2
.. <repeat 1 and 2>
g = Softmax(h)
cost = CrossEntropy(g) # numpy.mean(CrossEntropy) over BATCH SIZE

train_data()

Related article I a writing about this

EN

回答 1

Stack Overflow用户

发布于 2016-12-17 07:04:55

如果我没理解错的话,我可以通过在隐藏层后面添加一个RelU,然后重复隐藏层+ RelU来将3层NN转换为DL NN

深度学习几乎是一个时髦的词。它可以是任何网络,从3个学习层到至少16层。取决于作者/什么时候你想知道“深度”是什么意思。例如,deep residual learning paper将门槛设置得更高,达到了几百层。

重要的是,你至少有一个具有非线性的隐藏层。具有输入层、隐藏层和输出层(即两个学习层)的网络。非线性(逻辑函数,tanh,ReLU,...)让神经网络如此强大。

对于维数:这些是矩阵乘法/向量加法。您的输入是(1,M)维的,并与(M,N)维的矩阵相乘。结果的维度为(1,N)。下一个要相乘的矩阵必须是维数(N,随便什么)。所以你必须确保相邻矩阵的维数是拟合的。就是微积分基础。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40987555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档