深度学习--结合代码讲解如何简单训练一个神经网络

前言

或许你差不多理解神经网络,知道神经网络可以理解为一个网,每个网是由多个层堆叠连接起来的。但却没有实操训练过一个自己的网络,下面将结合代码讲解如何训练一个简单的神经网络。

一、神经网络的构造与训练

神经网络的核心组件是层(layer),它是一种数据处理模块,你可以将它看成数据过滤器。 进去一些数据,出来的数据变得更加有用。具体来说,层从输入数据中提取表示——我们期望这种表示有助于解决手头的问题。大多数深度学习都是将简单的层链接起来,从而实现渐进式的数据蒸馏。深度学习模型就像是数据处理的筛子,包含一系列越来越精细的数据过滤器。

训练一个神经网路的步骤一般为:构建网络 -> 编译网路 -> 训练网络。下面来详细讲解流程,使用python的Keras库来学习:

1.构建网络

网络的构建就是layers的堆叠,一般调用 models.Sequential()函数来创建一个网络,使用add来添加网络层。
如以下例子是个简单的两层神经网络,包括2个Dense层,叫做密集连接层或全连接层,是神经网络作为分类器很常用的层。

from keras import models
from keras import layers
network = models.Sequential()
network.add(layers.Dense(512, activation='relu', input_shape=(28 * 28,)))
network.add(layers.Dense(10, activation='softmax'))

可以看到与第一个层即输入层带有三个参数,第一个参数就是该层网络的输出特征,512表示输出特征有512个通道;第二个参数是该层使用的激活函数,可以理解为输入经过激活函数计算后得到输出特征;第三个参数是输入数据的形状,需要根据你

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值