我教宝宝学AI (一)环境准备

来源:互联网 发布:iphone导出到mac 编辑:程序博客网 时间:2024/05/17 03:54

一、陪伴小孩学习

女儿今年5年级,6月24日开始放暑假。这个暑假我打算放下手边的工作,陪女儿二个月。陪伴小孩的最好方式就是跟她一起学习,因此在之前一个月就做了各种准备,买了两本深度学习的书,还报了人工智能网络课程。先要把自己准备好,要不在教的过程中经常会被女儿质疑:您这是放养吗?


记得在她很小的时候,我把自己小时候会的几个手工教会她,什么小船、飞机、老虎、裤子等。然后她就非常感兴趣,自己在ipad上找了好多日本的折纸app,自学好多折纸,有不懂的地方就缠着我跟她一起解决,折纸算是她小时候自学获得的技能。当她去加拿大上学的时候,这个技能转换成了她的社交资源,通过给其他小孩子一起折纸,在班级里上讲台教其他小朋友折纸,让她能够更快速地学会用英语交流和快速适应学校生活。我觉得小时候教小孩不要有太多的功利心,小时候就是要让小孩开心地玩,在愉快的游戏过程中获得技能并自己成长。引导小孩并让她真正自主地参与,这样更能培养小孩的学习能力和创新能力。


开源是未来IT的发展方向,开源可以让新手站在老司机的位置。就像google开源tensorflow,让全球对AI感兴趣的人们都可以用到这个高质量的机器学习工具,在此基础上去快速应用人工智能的最前沿成果。tensorflow虽然自身大部分用C++编写,但是有着非常好用的python接口。因此就算对C++不熟悉的人,也可以用python很容易地去实现人工智能的研究。


二、准备机器

微软的挖坑技术一流,历史上挖的最大一个坑把诺基亚给埋了。现在还在继续给skype、linkin等准备着大坑。在Windows平台上工作了十多年,发现如果跟着微软的技术路线走,经常需要把自己好不容易编写的平台重头再来。因此早在几年前就开始学习linux上的开发,功夫不负有心人,去年终于把后台系统以最小的代价转到CENTOS下运行。服务器的稳定性和高效性跟Windows Server不可同日而语,同时也远离了各种漏洞的骚扰。


有过在Windows下研究开源技术的同学一定感受到,在Windows下建立个开源编译、运行环境有多难。因此向所有对开源感兴趣的同学推荐LINUX或者苹果Mac机器,因为MacOS是认证的UNIX,在MacOS下建立开源编译环境非常容易。


苹果的iMac一体机是最好的选择,但是体积太大,要带这个一定会被要求缴税。因此选择了娇小的Mac Mini,配置为:

  • 3.0GHz Dual-Core Intel Core i7

  • 16GB 1600MHz LPDDR3 SDRAM

  • 2TB Fusion Drive


到了加拿大后,够买了LG的27吋4K显示器,总共花费在1.5万人民币左右。我想这台机器可以陪伴女儿六年到高中毕业。超值、超赞!



三、准备开发环境

入门开源的第一步就是要安装gcc编译器,因为很多的开源软件使用C、C++编写的,都需要gcc编译器(用苹果自带的clang也行,但是如果开发者用的就是gcc,为减少不必要的编译麻烦,建议还是安装gcc)。在苹果环境安装软件最好用的就是brew命令,当然需要先执行下面语句安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


然后运行brew install gcc@6安装。python环境建议安装anaconda,集成安装了各种python的科学计算包,如numpy、scipy等。没有ski-learn,但是安装容易,只要执行conda install scikit-learn。


接着安装tensorflow运行环境,执行pip install tensorflow。建议也安装tflearn,它是对tensorflow的python api的再次包装,很多有用的深度学习模型在tflearn下都浓缩为简单的几句话。


深度学习的工具也并不是就tensorflow一个,只是因为google的名声大,因此大家可能首选是它。另外如caffe、keras,也是很好用的深度学习工具,通过配置训练模型然后可以自动生成训练代码或只要写很少的代码就能开始训练。


感谢没有把github墙了,很多学习案例都可以在github里面找到。


四、AI基本概念

孩子妈疑惑的问我:暑假到底要教女儿什么东西?我说是个非常神奇的东西,你把40年前的经历都告诉我,用这个东西我可以告诉你后40年会发生什么。孩子妈估计心里万马奔腾,那还研究什么紫薇斗数?!


中国自古就有这样一句话:“3岁看大,7岁看老”,又体现了古人的智慧,中国古人早就知道AI了。


从图上可以看到AI范畴最大,专家系统就是最早期人工智能的一个重要分支。然后是机器学习,如XGBoost是专门针对结构化数据的机器学习,在特定的领域XGBoost能获得非常好的效果。接着里面的圈是特征学习:将原始数据转换成为能够被机器学习有效使用的特征。允许机器学习使用特征的同时,也学习如何提取特征,就是学习如何学习。深度学习基于多层次神经网络,更高层次的特征从低层次的特征学习得到2012年Image Net比赛中的错误率下降了接近100%,就是采用了8层的卷积神经网络。卷积神经网络并不是最近才发现的,而是在上世纪80年代,就有了这方面的论文,只是限于当时的计算能力等原因未有重大突破。


现在深度学习在图像分类、语音识别上都有很优秀的表现,在比赛中的识别能力已经超过人类的能力。人类现在只能感叹:你吃的比我少,知道的比我多,干起活来比我还能吃苦,我还能控制你多久?


在youtube上看到stanford著名的李飞飞教授的CS231N(2016 Winter,最新的2017课程视频还没有看到有上传)课程视频,我会在跟女儿学习的过程中逐步录制下来,另外还有一些资料书,可以到网址下载 http://www.ebizmis.com/ai。

原创粉丝点击