1.前言
近两年,人工智能开始兴起,社会上各个行业各种产品技术都冠上AI(人工智能)头衔。教育界,每到假期各种人工智能和大数据技术培训应接不暇,真是山雨欲来风满楼——人工智能的时代已经到来。机器学习是人工智能技术的一个分支,本文讨论的是机器学习中的深度学习技术。深度学习实际上是深层神经网络,犹记得几年前战胜围棋冠军的神经网络alphaGo,它不仅引起业界的瞩目,也让大众震惊不小。1943年由麦克洛奇(McCulloch)和皮兹(Pitts)提出的M-P模型算是最早的神经网络,神经网络一度成为研究热点,但随着时间的流逝逐渐被大家放弃。目前计算机的算力已经能够支撑大型神经网络的计算,深度学习技术在一些领域取得了令人瞩目的成就,神经网络又进入了大家的视线,并获得广泛关注。
2.深度学习过程
AI深度学习的目的,就是通过神经网络对样本数据进行反复学习,从而得到一个能解决某特定问题的AI模型。比如,将大量手写数字的图片输入神经网络,经过其深度学习,最后得到一个能识别手写数字的网络模型。这样的模型可用于信件中邮政编码的机器识别,以解决邮政行业的非人工信件分拣。
要得到一个识别精度高的神经网络模型,需要对初建网络进行反复训练,不断调整网络的各种参数——机器自动调整权值,人工调整超参数,最后得到的是包括权值和深层神经网络在内的AI模型,如图1所示。
图1 深度学习模型与神经网络的学习过程
下面以手写数字图片集MNIST为例,用Python语言描述神经网络的学习训练过程:
#读入学习数据(训练集)
(x_train,t_train),(x_test,t_test)=load_mnist()
#设置超参数
iters_num=10000 #训练次数
train_size=x_train.shape[0] #训练集大小
batch_size=100 #批大小
learning_rate=0.01 #学习率
iter_per_epoch=max(train_size/batch_size,1) #一个迭代
#创建神经网络,包括初始权值和构建网络层
network=Layers(input_size=784,hidden_size=50,output_size=10)
for i in range(iters_num): #进行反复训练
k=int(i%iter_per_epoch)
x_batch=x_train[k*batch_size:(k+1)*batch_size] #依次从训练集中抽一批
t_batch=t_train[k*batch_size:(k+1)*batch_size] #依次从答案集中抽一批
y=network.predict(x,params) #学习,得到预测结果
loss=network.loss(y ,t_batch) #计算预测与答案之间的差距
grad=network.gradient(lose,network.params) #计算权值的导数
#更新全部权值
for key in network.params:
network.params[key]-=grad[key]*learning_rate
3.结语
深度学习(深层神经网络)不仅可以用于物体识别,还可以用于物体检测、图像分割。深度学习的应用包括图像标题的生成、图像的生成、强化学习等。最近,深度学习在自动驾驶上的应用也备受期待。在当今的信息社会,不断增长的大数据,与人工智能的技术珠联璧合,将完成时代的变革。掌握深度学习技术,必将成为时代的弄潮儿。
论文作者:李峰
论文发表刊物:《知识-力量》2019年10月45期
论文发表时间:2019/10/18
标签:神经网络论文; 深度论文; 人工智能论文; 模型论文; 技术论文; 的是论文; 机器论文; 《知识-力量》2019年10月45期论文;