我试图用神经网络(Keras)近似正弦函数。
是的,我阅读了相关帖子:)
使用四个隐藏的sigmoid神经元和一个线性激活的输出层工作正常。
但也有一些设置提供了对我来说很奇怪的结果。
由于我刚刚开始工作,我对事情发生的原因和原因感兴趣,但到目前为止我无法理解这一点。
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<div ng-app='app' ng-controller="MyController">
<table style='float:left;border-right:0' class='left'>
<thead>
<tr>
<th>School</th>
<th>Class</th>
</tr>
</thead>
<tbody>
<tr ng-repeat='item in base' style='height:{{item.w*30}}px'>
<td>{{item.school}}</td>
<td>{{item.cl}}</td>
</tr>
</tbody>
</table>
<table style='float:left' class='left'>
<thead>
<tr>
<th>Student</th>
<th>Student-number</th>
</tr>
</thead>
<tbody>
<tr ng-repeat='item in students' style='height:{{item.w*30}}px'>
<td>{{item.name}}</td>
<td>{{item.number}}</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th>Books</th>
</tr>
</thead>
<tbody>
<tr ng-repeat='item in books track by $index' style='height:30px'>
<td>{{item}}</td>
</tr>
</tbody>
</table>
</div>
为什么结果采用ReLU的形状?
这是否与输出规范化有关?
答案 0 :(得分:5)
这里有两件事:
relu
的神经元就会出现这样的情况,即这对神经元完全饱和的可能性非常大。这可能是您的网络结果看起来像这样的原因。尝试使用he_normal
或he_uniform
作为初始化程序来解决此问题。sigmoid
具有与sin
函数类似的形状,则这可能会正常工作 - 但在relu
的情况下,您确实需要更大的网络。答案 1 :(得分:1)