除了线性代数,概率与统计,人工智能背后的数学原理还要包括微积分,信息论,优化算法等等。所有这些后续都会陆续补齐。
今天我们来聊聊AI技术栈,当然,上面的数学原理也是技术栈的一部分,我们把它称为理论支撑,理论已经晦涩难懂,把理论变成能够训练模型,推理模型的代码就更非易事,它是由各种硬件,数学函数库,工具,框架堆叠在一起的产物。
关注微信公众号:人工智能大讲堂,后台回复【mds】获取思维导图下载链接,后续更新也同样放到这个位置。
与复杂的过程相比,我们更关心最终的结果,也就是将输入传递给模型,然后等待模型给出的预测,甚至如何预处理输入,后处理输出也都交给框架来做。幸好,上面思维导图右侧部分将硬件的控制,数学原理,领域知识都封装了起来,让我们只通过几行代码就能够让模型训练起来,这个我在[AI可不仅限于框架]中已经交代过了。
今天我们主要关注思维导图的左侧部分,也就是除了框架,工具以外实践AI的方法论。
跟随主流
据不完全统计,光是在The latest in Machine Learning | Papers With Code上的论文数量就不下数十万篇,即使我们只关注某一领域,我们也没办法通读所有论文,所以第一个方法论就是跟随主流,从0到1实现创新的开山之作就那么几篇,例如,解决深层网络训练问题的ResNet,提升训练稳定性的归一化思想;目标检测模型中的anchor思想,RPN网络,多尺度,一阶段目标检测模型YoLo系列,两阶段目标检测模型RCNN系列;分割模型中的FCN,图像金字塔,特征金字塔,特征融合,采用级联方式的UNet,基于视觉transformer的ViT,自然语言中基于transformer的注意力机制等。
当然,我并不是说其它论文一无是处,只不过,有的是在前人的基础上实现的改进,解决的可能只是某个特定问题,或者仅适用于某个领域。但是你几乎能在所有模型中看到RestNet,BatchNorm,Adam的身影。
站在巨人的肩膀上
现在我们虽然已经知道了要去读主流文论,但论文也只是思想的文字描述而已,如何将论文进行复现呢?训练过程中各种超参数如何设置呢?数据集该如何收集呢?并不是所有论文都提供了复现代码,细心的人可能发现了,左侧的思维导图我是按照公司进行划分的,所以第二个方法论就是要学会站在巨人的肩膀上。
这些巨人就是行业的风向标,你会发现它们都建立了自己的AI生态,有自己的AI框架和在线训练平台,布局语言大模型,虚拟现实硬件,如果你不知道该选择哪个领域,这也是一种参考。
另外,在其官方网站或者Github上都提供了各种主流模型的复现代码以及训练示例,点一下就能在训练平台上开始训练。
英伟达官方深度学习示例:
https://github.com/NVIDIA/DeepLearningExamples
适用于医疗领域深度学习示例:
https://github.com/Project-MONAI/tutorials
自然语言深度学习示例:
https://github.com/huggingface/notebooks
微软ViT示例:
https://github.com/google-research/vision_transformer
如果你不知道该选择哪一个模型来完成你的任务,那你就先选择它们官方示例中提供的模型,毕竟能够收录到它们示例中的肯定是经过实践验证的。并且售后服务以及质量都能得到保障。