博舍

人工神经网络与深度学习学习历程,心得及资料分享 人工智能与创新教学培训心得感悟

人工神经网络与深度学习学习历程,心得及资料分享

人工神经网络(ArtificialNeuralNetwork,即ANN),是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activationfunction)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习中的“深”指搭建的神经网络层数很深。

经过一个学期有关神经网络和深度学习的摸爬滚打,勉强算是半只脚踏进了这个领域中的图像识别领域。写下这篇学习历程和心得,一方面记录和总结所学以让自己更好地前进,另一方面予以想进入这个方向的人一点指导和启发。

整体上要明白深度学习的应用形式是通过程序实现,深度学习可以说是一类算法。而深度学习的核心部分是数学理论。在学习其理论知识时,我一开始是阅读《人工神经网络理论、设计及应用》这本韩力群的书,同时在网易云课堂上观看吴恩达的微专业课程《深度学习工程师》(网址是:吴恩达深度学习课程)。《人工神经网络理论、设计及应用》这本书对神经网络的总体讲述很清楚,能给你理论的总体框架感,适合对神经网络一无所知的人阅读,而且在BP神经网络的学习算法上给出了严谨详细的数学推导。对于只想学习深度学习的人来说,这本书只用看到第3章就差不多了。吴恩达的微专业课程《深度学习工程师》由于免费观看、浅显易懂、详细的讲解,知名度和受欢迎度非常高,在CSDN博上已有这门课的学习笔记和对应课程的代码实现。这门课程一共分为五个单元:01神经网络和深度学习,02改善深层神经网络、正则化以及优化,03结构化机器学习项目,04卷积神经网络,05序列模型。如果只想研究图像识别,可观看其中的01,02和04,03也可以在后期观看,而05单元主要针对语音识别。吴恩达甚至就这门课程写了一本书,书的电子可通过下面的百度云链接下载:(吴恩达书籍提取码:8hcy)

有了一定的深度学习理论知识后,就可以着手编程了。写深度学习程序最好在一个框架内实现。我学习和使用的框架是TensorFlow,它由谷歌开发,是一个基于数据流编程(dataflowprogramming)的符号数学系统,被广泛应用于各类机器学习(machinelearning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief,也是目前最受欢迎的深度学习框架。在TensorFlow内的编程是用python高级程序语言,python因为其灵活性和少量代码就能实现复杂功能而成为许多深度学习框架的语言。我学习这个框架在一开始主要通过观看学习视频,视频可通过百度云链接下载:(tensorflow学习视频提取码:sq77)

这个学习视频共分为10个部分,主要介绍了:如何安装tensorflow,通过全连接神经网络实现手写数字识别,通过卷积神经网络实现手写数字识别,如何使用tensorboard,循环神经网络理论简单讲解及实现,如何保存和使用训练好的模型,如何安装GPU版本的TensorFlow,通过微调Inception_v3模型训练自己的图片,以及最后比较难理解的验证码识别项目。

除了通过看上述视频,同时阅读技术书籍也是必要的。黄文坚、唐源编著的《TensorFlow实战》知名度很高,它除了简要介绍了TensorFlow编程模型等基础知识,也主要从如何编写代码角度分析了如何写手写数字识别程序,自编码器,多层感知器,简单以及进阶的卷积网络。不仅如此,这本书也分析了四种经典卷积神经网络的架构和代码——AlexNet,VGGNet,GoogleInceptionNet,ResNet。我看到了本书的这部分,在这之前的代码都是可以运行的。除了深度学习关于图像识别的内容,这本书也介绍分析了用TensorFlow实现循环卷积神经网络及Word2Vec,简单介绍分析了深度强化学习,TensorBoard,多GPU并行及分布式并行,TF.Learn、TF.Contrib组件。除了这门书之外,何之源编著的《21个项目玩转深度学习》知名度也比较高,里面分章节介绍了基于TensorFlow深度学习的21个项目,我没有全部实现,里面不少代码不能一开始就能运行,有一些错误,需要自己花些时间去调通。

以上关于用TensorFlow实现深度学习理论的书籍和视频教程其根本来源于TensorFlow官网(占主要部分)以及相对应的Github库:tensorflow官网;tensorflow的Github网址。我在调试关于finetuneInception_V3代码的时候,看了很多CSDN博客,花了将近一周的时间也没有把代码调通,最后通过看官网的技术文档,不到半天就把代码调通了。这是因为博客会因为TensorFlow的API、版本不断升级拓展而过时,而官网的技术文档则会随时更新,由此可见阅读原始官网技术文档的重要性,即使英文有点难阅读。

除了以上提到的视频教程,下面链接的关于深度学习与强化学习的视频教程知名度也很高,不过我还没有看,所以不做评价(深度学习与强化学习视频提取码:awmt)。在书籍方面,下面链接关于TensorFlow内核的书也写得非常好,评价也很高:(tensorflow内核书提取码:nx3e)它由资深技术架构师刘光聪编著,系统介绍了TensorFlow的构建原理,对于想要深度理解TensorFlow的人来说,这门书是很值得研究的书籍。很多有关深度学习的微信公众号也会推送很多干货,比如AI有道,磐创AI,深度学习与NLP,深度学习这件小事,CVer,深度学习自然语言处理等等。

对于想做研究的人来说,阅读与深度学习有关的经典论文也是必要的,这样能更懂得深度学习这个黑匣子里面的一些实现原理。如果学习深度学习时,还没有python编程基础,也大可不必掌握好python之后再学习TensorFlow,完全可以两者同时学习。如果觉得TensorFlow比较难学,Pytorch框架相对简单一点,知名度也挺高。

在学习的过程中,因为会面临大量代码和文件,也会记下很多学习笔记,这个时候管理和记录的能力就显得非常重要了,我的方法是用平板记下心得和学习笔记,因为相对于纸质笔记本,平板的笔记本软件能更好地进行管理。另外将自己编程的过程记录在CSDN上,既能管理好自己的程序,又能向其他网友分享程序和解决问题的过程——毕竟程序员有一个编程原则——不要重复造轮子。

人工智能时代需培养学生怎样能力

“未来人工智能环境下的课堂,可能是‘双师型’的课堂,人机交互、人机结合将成为主要形态。一堂课可能由一名教师和一个机器人共同来上,布置和批改作业、知识点训练、监督学习、学习情况的分析等工作可能由机器人来完成。”在日前召开的第四次全国数据驱动教育改进专题研讨会上,北京师范大学中国教育创新研究院院长刘坚这样描述人工智能时代的课堂。

人工智能不能代替学习

面对席卷而来、被称为人类“第二次零点革命”的人工智能浪潮,互联网时代的教育界,也不那么淡定了。“因为人工智能不是信息化的延续,技术对教育的影响,正在由‘革新’发展为‘革命’。”中关村学院学术委员会原负责人吕文清说,“高级阶段的人工智能具有类人脑的学习力和思考力,将来还能进化到自适应学习,在这个意义上,人工智能拓展了人的思维。人工智能改变的,不仅是教育的边界和方式,整个教育样态也将面临重塑。”

不过,科大讯飞教育研究院院长孙曙辉认为,人工智能不能代替人的思维,不能代替学习,技术也改变不了教育的本质。因此,在当前热炒人工智能概念的大背景下,一定要认清技术与教育的关系,搞清楚哪些是教育本身的问题,哪些是技术可以解决的问题。

高阶认知能力的重要性将更加凸显

在人工智能时代,学生应该具备怎样的能力,才能适应社会需求,在竞争中立于不败之地?

教育部副部长杜占元在去年12月召开的2017未来教育大会上提出,在机器能够思考的时代,教育应着重培养学生的5种能力,即自主学习能力、提出问题的能力、人际交往的能力、创新思维的能力及筹划未来的能力。

教育部科技发展中心原主任李志民说,今天我们说知识就是力量,讲的是如何学习、记忆和掌握更多的知识,讲究知识的系统性,而在人工智能时代,知识是开放的,随时随地可查找、可检索,因此,记忆知识以及知识的系统性不再像今天这样重要了,学生更需要学习如何从已有的知识中挖掘出新应用、新知识,通过已有知识学习新知识,与之对应的知识结构或学习过程就是思维的训练。

“低阶认知技能的重要性会下降,如记忆、复述、再现等初级信息加工任务将更多地被机器代替,而高阶认知能力的重要性会更加凸显,如识别问题、逻辑推理、意义建构、精致思考、自我指导能力等。”吕文清认为,人工智能时代应重点培养学生的终身学习素养、计算思维素养、设计思维素养和交互思维素养,培养学生5种能力——高阶认知能力、创新能力、联结能力、意义建构能力和元认知能力。终身学习素养,主要基于人工智能时代需要更强大和持续的学习力,强调学会学习和建构不断演进的知识框架;计算思维素养,主要基于学习和理解人工智能,强化思考的逻辑和精致。现在很火的编程课程,主要是培养计算思维;设计思维素养,主要基于人工智能时代学生执行困难任务,需要关注项目设计、任务设计和路径设计等高层次管理,重点引导学生学会选择、学会决策、学会判断;交互思维素养,主要基于人工智能时代学生交往方式的变化,需要高级信息素养、媒体素养、沟通交流和技术伦理,重点引导学生学会开源共享、参与协商、组建社区等,理解复杂的相互关系。高阶认知能力,强调独立思考、逻辑推理、信息加工等;创新能力,强调好奇心、想象力和创新思维、创新人格等;联结能力,强调学会统筹、组织资源、建立联系,特别是包括人工智能在内的多个空间的联结;意义建构能力,强调社会情感、责任意识和高感性、高概念等要素;元认知能力,强调学习自我认知、自我监控和自我指导。

“我认为,没有什么能力是贴有人工智能时代专属标签的。随着时代的发展,人类已有的知识和经验变得不重要,而培养学生的综合素质、高阶思维、创新能力等,这些要求无论在哪个时代都是需要的、共通的、不会过时的。”孙曙辉说。

未来的学习将更加个性化

未来的学习,在哪儿学、跟谁学、怎么学?原有的概念可能都会被颠覆。教育又该如何作出调整,以适应新的时代要求?吕文清认为,人工智能时代对学生的学习目标、学习内容、能力层级甚至心智模式,都提出了新的需求。在教学上,人工智能时代要以“思维教学”为主线,既强调基于认知能力的信息加工、分析综合、逻辑推理等高阶思维的培养,还要增加和突出计算思维、设计思维和交互思维的培养。具体落点上,要强调概念性知识、方法性知识和价值性知识的教学,要注重教原理、教统筹、教大观点、教元认知等不可替代的知识,也就是高阶认知和高阶学习。

人工智能对于当前的教育,不只是颠覆和冲击,也会带来促进和改良。李志民说,人工智能时代的教育管理,无论是宏观层面还是微观层面,都更容易做到精细化,对教师的评价会更加全面而科学;可以根据每个学生的智力程度和思维习惯以及学习方式进行教学,实现真正的个性化学习和因材施教。

据了解,目前许多中小学已开设编程、3D打印技术等与人工智能相关的课程,学生学习兴趣特别浓厚。一些学校还以社团和选修课的形式推进机器人、智能汽车、计算机编程等课程的开设与完善,提升学生信息化素养,促进学科知识融合。

人工智能时代,学生获得知识及能力、素养的提升途径无疑会更多元,其中互联网发挥的作用会更大。而人工智能的应用,会让教师从机械重复的工作中解放出来,去做更有价值的工作。孙曙辉认为,在中小学开设编程等人工智能相关课程,有助于训练学生的思维方式,但主要意义在于普及相关科学知识,并不能帮助学生“赢在起跑线”。目前,很多所谓人工智能的应用,包括一些针对职业人群的人工智能培训,都是炒作概念的“伪人工智能”,人工智能在短期内尚难发展到较为高级的阶段。当前市场上已经出现针对中小学生的打着“人工智能”旗号的相关培训班,家长完全没必要怕“掉队”,在现阶段,保持清醒的头脑,不盲目跟风至关重要。(本报记者汪瑞林)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇