基础知识
1,高等数学
编程就是控制计算机做各种运算,逻辑控制的部分很多,虽然用到的数学知识很灵活但是并不深奥。在机器学习与深度学习中却需要大量使用数学知识,这是给很多初学带来困难的主要原因之一。但是随着各种机器学习开发平台的出现,还有各种经典案例的推广,开发和使用人工智能越来越简便,各种复杂的数学理论都被打包成了各种对外的API接口,可以说只要能理解基本的概念,学会调用不同的接口(成为一个调包侠)也能用上当前最前沿的人工智能成果。
2,Python语言
“人生苦短,我用Python”,有编程基础的人其实很容易就能掌握Python,它的设计理念就是让程序逻辑隐藏起来,使用像语言对话的方式告诉它你想要做什么,然后它直接给你结果。更强大的地方在于各种功能强大的库,可以随时取用。世界上无数科学家、工程师设计出来的算法功能你可以直接取用,不但不需要重复制造“轮子”,甚至可以说各种“飞机大炮航空母舰”应有尽有,能限制你发挥的只在于你知不知道他们的存在,还有你的想象力有没有受到限制。后面的人工智能开发平台都可以看作是Python的一个库,熟悉了库的接口和用法基本上就算是入门了。
3,C++语言
深度学习中只有非常必要的情况下考虑使用C++,大部分情况是工业部署的时候,比如实时性要求很高的情况下。只在不得不用的时候使用。
为什么机器学习必须使用开发框架
所有框架都可以理解为矩阵加速计算和自动求导的科学计算库,是为了能方便的建立神经网络模型,然后加速训练每个神经元上权值。有了开发框架不需要手写CUDA就能跑GPU加速,自动帮你计算复杂复合函数的梯度,神经网络搭建只需调用平台接口就能实现,深度学习从此变得方便!
主流开发平台介绍
1, Tensorflow2
注意这里推荐的是Tensorflow2.0以上的版本,因为Tensorflow1的版本和Tensorflow2可以说是完全不同的两个框架,如果你以前用过Tensorflow1的版本那么忘掉它吧。新手直接从Tensorflow2开始学习可以事半功倍。
Tensorflow是全世界使用人数最多、社区最为庞大的一个框架,因为Google公司出品,所以维护与更新比较频繁,并且有着Python和C++的接口,教程也非常完善,同时很多论文复现的第一个版本都是基于Tensorflow写的,所以是深度学习界框架默认的老大。
2, Pytorch
PyTorch是当前难得的简洁优雅且高效快速的框架。
3, 飞桨PaddlePaddle,百度深度学习平台
PaddlePaddle是百度研发的开源开放的深度学习平台,是国内最早开源、也是当前唯一一个功能完备的深度学习平台。依托百度业务场景的长期锤炼,PaddlePaddle有最全面的官方支持的工业级应用模型,涵盖自然语言处理、计算机视觉、推荐引擎等多个领域,并开放多个领先的预训练中文模型,以及多个在国际范围内取得竞赛冠军的算法模型。国产框架不多,大家多支持啊!