小白第一次写博客,诸多稚嫩之处,还望各位读者海涵。
keras是基于tensorflow或Theano的一个深度学习链接库。我最近开始学习keras的几点感触就是,keras相对tensorflow来说封装性更好,理解成为keras是tensorflow的前端,像tensorflow的前向网络、反向网络之类在keras中用model.add()方法就可以轻松解决(后续会介绍到),学习这方面的小白可以像我一样,先入手keras,理解神经网络的构建原理之后,再回来学tensorflow,会轻松一些。
笔者目前的学习资源主要为中国大学mooc上曹建老师的tensorflow学习笔记,以及林大贵的《tensorflow+keras深度学习人工智能实践应用》。
首先说一下人工智能、机器学习和深度学习的关系,这三者是层层递进的关系。引用知乎上育心网友的回答,“机器学习是实现人工智能的一种方法,深度学习是实现机器学习的一种技术。”依鄙见,人工智能将是未来的技术,对技术疯狂的人都会最终痴迷于这个领域,但实现人工智能的方法不单单是机器学习,除了让机器模拟人的思维去思考,还可以用工程法来达到人工智能的效果,笔者能力有限不能做具体分析。至于深度学习,则是对机器学习的一种更深层面的开发,这项技术将会越来越成熟。
直接说机器学习(machine learning,ML),ML分为三种,监督学习(supervised learning),非监督学习(unsupervised learning)和强化学习(reinforcement learning,RL)。
这三种学习的概念,新手不是很能理解,但相信尝试过了解这三者的人都在网上查到过形象化的描述,监督学习就是告诉机器,逃课是错的,上课是对的,这是离散问题,或者告诉机器现在的气温是21℃,三小时前的气温是20℃,这是逻辑回归问题(logistic),总之,监督学习都要有标