深度学习45问

[原文链接]

1.神经元是可以有一个或多个输入/一个或多个输出。

2.线性方程也是一种神经元

3.注意激活函数。保证仅时输出1(),其他时刻

4.简单的计算题

5.神经元的参数是依靠迭代来收敛的

6.梯度下降法的顺序。

  • 初始化
  • 传递输入获取输出
  • 计算梯度
  • 更新参数
  • 重复直至收敛

7.梯度是,但是既然叫梯度下降法,自然是要让梯度下降,所以计算的应该是

8.深度网络的深度指的是网络深度,也就是更多的隐层。

9.异或可以描述为h1与非h2 或 非h1与h2

10.答错了
卷积并不能实现旋转与尺度变换。但是我很好奇,我拿一个步长为2的权重1偏置0的1x1卷积不就可以实现尺度变换了吗。甚至我可以用一个卷积网络来实现旋转,在我看来在理论上也是可以实现的(虽然不会那么做)
好吧,但是如果他说的是“卷积网络能够实施(perform)变换,答案确实是不行,但是难道步长2的卷积不算一种scaling吗。

11.看不懂
回头看一下贝叶斯/bagging/boosting

12.ReLU是典型的非线性激活函数

13.在初始迭代中loss不降可能由学习率过低/正则化超参过大(抑制梯度)/陷入局部最优引起。以上三种都有可能

14.模型的所能拟合的复杂程度与网络深度有关系,而与dropout参数,学习率无关

15.深度增加并不一定意味着性能提升,很有可能会发生过拟合

16.循环网络会将自己上一次的结果作为输入(的一部分)
看一下受限波兹曼机RBM

17.感知机的流程是

  • 随机初始化权重
  • 选取输入,计算输出
  • 如果存在偏差,更新参数
  • 选取下一批数据

18.答错了
其实说的蛮有道理。穷举/随机选择确实能作为参数改变的策略。只不过平时做cv基本不会这么干。
可以看一下具体的贝叶斯优化

19.答错了
不应该啊。典型的鞍点。在鞍点会发生没有梯度的情况,如此一来梯度下降法便无法继续更新。同时又鞍点显然不是一个局部最优点,这可太糟糕了。

20.卷积的宽度(kernel size)增大可能会使核之间相互产生影响,最终导致过拟合

21.虽然我不知道PCA是啥。但是显然你直接降低维度跟通过隐藏来实现是不一样的,引入隐层意味着不同的连接。答案的说法是PCA针对关联特征运作,而隐层针对特征的预测能力。
看一下PCA
哦。PCA是主成分分析。怪不得眼熟。PCA针对的是数据本身,而隐层是预测模型的一部分,影响根据数据得出的预测。

22.这……显然可以。没有理解问题,答案说因为激活函数可以是倒数函数,啥?你想要是个啥都可以的吧。只要你有办法去实现反向求导。

23.答错了
没有看懂问题。让我选我可能会选B。我觉得他的意思可能是权重复用,那么在卷积的时候一个卷积核会被用到好几次,然后在循环网络的时候,同一个层的权重也会被反复用到好几次。

24.BN层是对数据做归一化,而不是权重,也不是一种反向传播技术。
我觉得可以补一下BN在理论上的意义

25.真理是无法抵达的。你没办法得到一个“完美的”模型,所以只能通过贝叶斯模型来逼近局部最优点。至于原因,数据输入的信息可能不能完全涵括输出的信息/模型是随机的/有限的训练数据,这些都是有可能的。

26.当然是错的。你输出啥跟你是不是有监督的毫无关系。
哦我看错题干了。显然也是错的,有监督学习并不直接限制你输出数量等于种类数,你当然可以自己来决定该如何表示分类结果。当然传统的做法是one-hot encoding,输出向量长度和种类数确实是一样的。

27.Dropout,正则化,BN,都可以解决(或者说改善)过拟合问题。

28.没有很理解答案。但是光一个隐层显然不能……呃,如果这个隐层就是一个二次函数?好吧,所以有线性阈值就会导致他最终会是一个线性变换。

29.答错了
哦!比如ReLU,如果你输入一个负数,那么这个神经元他就再也无法被更新了。因为他没有梯度,梯度在反向传播经过ReLU的时候就一直是0,因为对(参数)求偏导得到的结果还是0。死神经元指的就是无法再被他的邻居更新的神经元。

30.early stopping就是指模型在测试集表现开始变差时终止模型训练。
可以看一下QuickProp

31.学习率过大会导致模型无法收敛,模型的训练过程会十分不稳定,容易发生奇怪的事情,误差会爆炸(答案是这么说的,他应该是指会有很大的误差,然后你没办法去合理地更新参数)。

32.这题目。我想了半天想选C然后看到了D选择。

33.有个东西叫偏置项。但是答案说的是有许多神经元不会被白色像素激活?啥意思?

34.平移不变性是啥。如果一个图像经历了一个小小的平移,它依然会产生相同的特征。池化并不改变这个性质。比如说MNIST数据集,我们对某一特征做池化,并不影响他最终的结果。
呃,但是他答案的意思是,池化正是引起这种不变性的原因。因为池化就意味着这样平移能够产生同样的结果。想想好像没什么错,但是感觉很难说上来为什么。
不如找个机会好好看看池化的理论基础

35.不知道该说啥。原则上你能根据所有数据来进行一个梯度下降能够很好地兼顾所有数据,达到一个在训练集上的局部最优。但是事实上因为数据量巨大,你没办法保存所有的梯度,所以只能通过随机梯度下降来逐步更新。我一直都是这样的看法,但是我并不确定这么说对不对。

36.答错了
惊了。我不会看图。这题不应该。越在前的隐层他的梯度更新会越慢,也就是数值越小,在图中的y轴位置更小(更低)。所以自然最低的(下降最严重的)曲线D表示着第一层隐层。

37.答错了
无法理解。仔细想想,全是0的话意味着层的输出都是0,但是……
比如举个单个的线性感知机,都初始化成0,然后比如label是1,那么第一次的loss是1,对的偏导是,只要不是0,w就会更新,而更是无论如何都会更新。会更新也就意味着在反复迭代中它能够不断趋于局部最优。那为什么还会只认同一件东西呢。无法理解。
宁哥说


*梯度
他说的当然有道理,但是为什么就说这样是recognizing the same thing呢。

宁哥说得对。

38.提高参数量更难训练了,降低学习率也更不容易跳出局部最优点,所以采用短时间内很高的学习率来促使脱离局部最优点。(感觉说的不对,但是Jitter该怎么翻译信达雅呢,抖动学习率?)

39.认图片当然要用卷积神经网络啦!

40.我是猜对的。我的想法是单纯的normalize或是log都无法解决倾斜的问题,只有通过PCA,改变他的表示形式才能解决(在另一个空间中表示)。答案说的是移除关联性然后将它零居中(normalize)。难道说correlations有特别的数学意义?回头得看一下。

41.又是这样。我想了半天然后有个选项叫以上所有。好吧理论上神经网络可以拟合所有决策边界。

42.学习过程当然是伴随着振荡的。只要他整体呈下降趋势就没什么好担心的。增大batch size能改善这个问题,只要一次更新涉及到的数据足够多,那么这次更新就更加general

43.以上所有。虽然我没有很理解output function to map是啥,我觉得应该是你想要拟合的映射函数。但是答案显然是“以上所有”,一个模型的深度会受到网络类型/输入数据/计算能力/学习率/目标映射函数的影响,没什么好说的。唯一奇怪的点是应该说深度影响学习率而不是学习率影响深度?所信的是所有答案都有这一项。

44.答错了
可能我低估了所谓的"similar"。不过他说的也对,原则上只有最后一层是做决策,其他都是特征的抽取。只不过,数据没那么像的时候最后几层我觉得也挺关键的。

45.显然是错的。核变大并不一定能让性能变好。

你可能感兴趣的:(深度学习45问)