大家好, 欢迎学习本教程｡
现在我们要用第二个函数来初始化权重, 这个函数将被用来得到这些权重的最优学习｡
第二个函数, 我们称之为权重｡
还有里面的乐谱｡
它将把对象端作为自变量, 它将代表神经网络｡
就这样了
然后是结肠｡
现在让我们进入函数内部来定义我们想要做什么｡
所以基本上我们要做的是初始化神经网络的权重, 以这样的方式, 我们得到最优的学习｡
所以这看起来不是特别直观｡
这是基于研究论文和实验｡
我们将以一种我们从未见过的特定方式初始化权重, 但相信我, 这将优化学习过程｡
所以我们将直接实现它, 而不详细说明为什么要以这种方式初始化权重｡
所以我们要用一个技巧来开始, 这个技巧稍后会被用来区分卷积和全连接｡
因为, 你们知道, 记住,
我们的眼睛会有眼睛, 因此它会有一些卷积层, 当然它也会有一些全连接层, 我们会有一个不同的初始化权值,
对于这两种类型的连接｡
所以我们要用这个技巧来区分这两种连接, 然后我们要用一些if条件来为每种连接得到不同的初始化｡
这个技巧是创建一个新变量, 我们称之为class name,
它等于我们的对象M｡
所以M代表神经网络, 但它是一个对象｡
我们稍后会看到, 我们将从这个对象中得到特殊属性, 它是带双下划线的类名,
第一个类, 双下划线点, 双下划线再一次名字, 差不多在那里,
乐谱中还有一个双引号.
所以这是一个相当丑陋的技巧来寻找我们新的网络对象的连接类型｡
但那会给予我们想要的｡
当我们开始if条件的时候, 你会发现它是有意义的｡
顺便说一句, 说到条件, 我们现在就可以开始｡
我们现在要做的就是启动第一个if条件, 这将得到第一个case｡
如果连接是卷积的话｡
所以要写这个条件, 我们写if类名｡
不过还好｡
这里我们用了一个方法, fine方法find, 在里面我们用引号把conf输入进去,
进行卷积, 所以如果类名dotfindconf是我们要做的不是减1｡
如果我们有一个卷积, 因为-1表示没有｡
在这种情况下, 我们将对权重进行特殊的初始化｡
所以这个条件意味着如果我们有一个卷积连接｡
在这种情况下, 我们要做的是运行我们想要的权重的特定初始化｡
所以所有非直觉的东西都会出现｡
我们首先创建一个变量, 我们称之为重量和护卫形状｡
所以这个形状的权重是一个列表, 它基本上包含了神经网络中的权重｡
所以我们要用list函数来创建一个列表.
在里面我们输入m, 神经网络的点权重, 它就是神经网络的权重｡
但是在回旋连接中｡
为了得到这些权重的形状, 我们使用了另一个属性, 即点数据, 然后, size, size,
将得到这些权重在卷积连接中的形状｡
所以现在权值形状包含在一个列表中, 权值的形状, 以及神经网络和的卷积连接｡
好吧, 我会的
所以我们有了很好的形状, 然后初始化这个卷积连接的权重, 我们需要两个值｡
第一个是第一维乘以第二维, 再乘以第三维的乘积｡
这就是我们现在要做的｡
然后我们还需要得到零维乘以第二维, 乘以第三维,
然后我们将使用这两个值来计算我们如何初始化权重｡
让我们来看看第一个产品｡
我们称之为扇入, 它等于乘积｡
我们将使用prod函数, 这是numpy的一个函数, 它有一个快捷方式｡
所以, 我们输入我们想要得到的乘积｡
就像我们说的, 这是我们重量形状的一维, 二维和三维｡
为了得到这个, 我们可以使用我们的重量形状｡
并得到这三个维度的索引｡
所以我们说它包括了一维到三维, 所以排除了四维｡
这就是我们可以得到它的方法, 因为这里的上界不包括在内｡
所以这正是我们想要的｡
扇出也是如此｡
正如我们所说, 扇出是维度的乘积, 零乘以维度, 2乘以维度3｡
这里我们可以得到从2到4的指数｡
这样我们就得到了二维和三维的乘积, 然后我们可以把它乘以零维,
我们可以用索引为零的权重形状来访问零维｡
所以总而言之, 这就是点心一次, 点心二次, 点心三次和｡
就在我们下面｡
吉姆零｡
倍黯以倍黯三种我们的方式, 塑造, 罗列轻重｡
好了,
现在我们要用这两个值扇入和扇出来进行初始化, 因为我们要计算一个新值, 我们称之为W界,
它等于平方根, 我们可以用函数和p, 通过之前的脚本得到｡
所以6的平方根除以扇, 再加上扇出, 所以扇进, 再加上扇出, 我们就这样｡
所以这个W界在某种程度上代表了暂定权重的大小｡
我们为什么会得到这个？
因为我们现在要做的就是生成一些随机权值这些权值与权值张量的大小成反比, 因为我们现在要做的就是取新的网络M.
然后得到它的重量｡
所以通过仍取属性权重, 则超额｡
数据就是传感器本身｡
然后从这个权重张量中, 我们将生成一些随机权重, 这些随机权重与权重张量的大小成反比｡
所以在这个一致函数中, 现在我们必须输入一个下界, 它是负的W界, 而上界,
它是正的W界｡
这是重量｡
现在我们需要初始化偏差和偏差的好消息｡
这将是简单得多｡
我们将把它们都初始化为零｡
为了得到这些bios, 我们从模型中取出它们｡
当然, 那是我们的神经网络｡
而偏见的属性就是偏见｡
同样的, 我们也存在于数据中, 然后我们要用一种方法, 即分数填充法,
你可能已经猜到了, 它是用零来填充偏差张量的｡
如果是零, 我们必须在这里指定要用零填充｡
这就是我在这里输入的原因｡
零｡
好吧, 我会的
总之, 我们生成一些与张量权重大小成反比的随机权重, 并将偏差初始化为零｡
好吧, 我会的
以上是卷积连接的初始化｡
现在, 我们需要对完整连接执行相同的操作｡
所以我们要添加一个新的条件, Elif, 我们采用这个技巧, 我们使用第一个类名,
也就是这个变量, 它包含了连接的不同名称｡
因此, 如果类名相同, 我们使用定义的方法｡
这次我们用引号引上一个完整的连接, 它是一个经典的线性连接和一个经典的人工神经网络｡
所以它的名字是线性的, 我们要用这个技巧来表示, 我们希望它不等于-1｡
这是第九类细线性的端点, 不同的是, 负一意味着如果联络是线性的, 也就是说,
如果我们有一个经典的全联络｡
那么在这种情况下, 我们如何初始化权重？
好吧, 一切都会一样的｡
我们将引入一个权重形状变量, 它不会删除第一个变量, 因为我们将在这种情况下或那种情况下｡
所以它将不一样｡
所以我们完全可以重复使用｡
那就一样｡
我们将引入一个扇入变量, 这次它将不等于这三个维度的乘积｡
但是实际上这一次它将等于干脆｡
我提过一个吗？
这是因为对于全连接, 连接比卷积连接少｡
你知道, 你在N和CNN的直觉讲座上看到过这个｡
全连接的尺寸比回旋连接的尺寸小｡
基本上我们只取一维, 然后我们有一个扇形展开的变量, 然后用它来计算w界｡
这一维是指数为零的权重形状｡
那是零维｡
好的, 那么计算w界, 它是一样的｡
它是6的平方根除以扇形展开和扇形展开之和｡
好了, 我们走吧｡
好消息是, 它和以前的完全一样｡
我们对权重使用统一函数, 对偏置使用填充函数, 以获得相同类型的初始化｡
但这一次的扇入和扇出不同, 因此w界限也不同｡
所以这是同样的原理｡
这是同一个想法｡
这里唯一的变化是, 我们有更少的维度,
用于全连接, 因此, 更简单的计算这个权重的边界, 来生成这些随机权重｡
但好消息是现在已经准备好了｡
不仅这个等待在它的功能是准备好了, 但现在我们有我们的两个工具, 所以我们准备开始建设大脑｡
所以我等不及了｡
当然, 这将是最令人兴奋的部分｡
这只是为了热身, 让我们为大事件做好准备, 所以我们将在下一个教程中处理｡
实际上, 这需要几个教程｡
当然, 我们将从制作眼睛开始, 然后记住我们将添加一个lshtm来学习输入的时间属性,
然后我们将处理演员和评论家｡
这就是我们要用到的两个函数, 规范化列, 初始化和权重｡
所以我等不及要这么做了｡
我们现在要做一些非常强大的东西, 所以做好准备｡
在那之前, 好好享受吧｡
一､