100篇人工智能论文
AI/ML景观
这是一篇关于100篇 人工智能 论文的文章来帮助解开 人工智能 景观的神秘。最初的部分是关于基础知识,并提供一些重要的链接来加强你的基础。后一部分链接到一些伟大的研究论文,是为那些想了解理论和细节的高级实践者。
人工智能是一场正在改变人类生活和工作方式的革命。这是一个广义的概念,即机器能够以人类认为智能的方式执行任务——这个术语可以追溯到70年前(见这里的历史https://medium.com/future-today/understanding-artificial-intelligence-f800b51c767f),艾伦·图灵定义了一个测试,图灵测试 (https://en.wikipedia.org/wiki/Turing_test),用来测量机器表现出与人的智能行为相当或不可区分的智能行为的能力。革命有许多复杂的运动部分。我的目标是简化并提供一个关于这些复杂部分如何在一个3层蛋糕中组合在一起的观点。顶层是人工智能服务,即解决实际问题的真实应用程序,中间层是基本的ML算法,而底层是支持前两层的ML平台。
首先是基本定义,人工智能是由机器 (https://en.wikipedia.org/wiki/Machine) 表现出来的智能(https://en.wikipedia.org/wiki/Intelligence),而不是由人类表现出来的自然智能。机器学习(ML)是人工智能的一个子集,它基于这样一种理念:我们应该真正能够让机器访问数据,让它们自己学习。神经网络(NN)是ML的一个子集,在ML中,计算机系统被设计成像人脑一样通过对信息进行分类来工作。深度学习(Deep learning,DL)是ML的一个子集,它使用多层人工神经网络来解决诸如目标检测、语音识别和语言翻译等复杂问题。
关于AI、ML和DL之间的差异,可以在这里和这里找到一些很好的阅读资料。
- https://towardsdatascience.com/notes-on-artificial-intelligence-ai-machine-learning-ml-and-deep-learning-dl-for-56e51a2071c2
- https://towardsdatascience.com/ai-machine-learning-deep-learning-explained-simply-7b553da5b960
神经网络的基础知识在这里和这里通过代码都有很好的解释。
- https://gadictos.com/neural-network-pt1/
- https://towardsdatascience.com/first-neural-network-for-beginners-explained-with-code-4cfd37e06eaf
- https://towardsdatascience.com/machine-learning-for-beginners-an-introduction-to-neural-networks-d49f22d238f9
人工智能可以根据这里解释的窄型、一般型或强型分类,也可以根据这里解释的反应机器、有限记忆、思维理论和自我意识的水平分类 。
- https://www.javatpoint.com/types-of-artificial-intelligence
- https://www.aware.co.th/three-tiers-ai-automating-tomorrow-agi-asi-ani/
ML算法
ML算法可以分为有监督、无监督和强化学习(这里https://www.newtechdojo.com/list-machine-learning-algorithms/、这里https://towardsdatascience.com/types-of-machine-learning-algorithms-you-should-know-953a08248861和这里解释https://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/)。ML和DL在提取特征的方式上有所不同。传统的ML方法要求数据工作者通过应用学习算法显式地提取特征。另一方面,在DL的情况下,这些特性是由算法自动学习的,不需要特性工程——例如,来自google的Meena (https://towardsdatascience.com/meena-googles-new-chatbot-657241cf5595) 新chatbot有26亿个特性。这是DL相对于传统ML方法的优势。
神经网络受到大脑神经元的启发,被设计用来识别复杂数据中的模式。我们大脑中的神经元被组织成数十亿个巨大的网络,每一个神经元通常与成千上万个其他神经元相连,通常是连续的一层,特别是在大脑皮层(即大脑外层)。神经网络有输入、输出和隐藏层。具有两个或多个隐藏层的神经网络称为深神经网络。
人工神经网络(ANN)模拟生物神经系统。一层的输出通过一个转换,使用Activations函数成为下一层的输入。激活函数是附着在网络中每个神经元上的数学方程,根据每个神经元的输入是否与模型的预测相关,确定是否应该激活(激发)。激活函数可以是线性或非线性的。TanH,Sigmoid,ReLU,Leaky ReLU的关键激活功能在这里 (https://towardsdatascience.com/activation-functions-neural-networks-1cbd9f8d91d6) 和这里(https://towardsdatascience.com/deep-study-of-a-not-very-deep-neural-network-part-2-activation-functions-fd9bd8d406fc) 被解释。
这里 (https://towardsdatascience.com/types-of-neural-network-and-what-each-one-does-explained-d9b4c0ed63a1)和这里 (https://towardsdatascience.com/understanding-neural-networks-from-neuron-to-rnn-cnn-and-deep-learning-cd88e90e0a90) 解释了不同种类的ANNs。这里有一张完整的神经网络图 (https://towardsdatascience.com/the-mostly-complete-chart-of-neural-networks-explained-3fb6f2367464)。
- 感知器 (https://towardsdatascience.com/what-the-hell-is-perceptron-626217814f53)是一个单层神经网络。感知器是最古老最简单的神经网络,创建于1958年。它有一个输入层和一个输出层(没有隐藏层)。感知器不能学习复杂的模式,特别是它们不能解决一些琐碎的问题,例如排他或(XOR)分类问题。
- 多层感知器(MLP)又名香草网络-感知器的局限性可以通过叠加多个感知器来消除。MLP是深入学习的基础。一个完全连接的层或致密层就是其中一层中的所有神经元都连接到前一层中的每一个神经元。
- 卷积神经网络引入卷积层和子采样层。与MLP中的完全连接层不同,卷积层只与各自先前层的子区域连接,追求生物学启发的局部感受野的概念。美国有线电视新闻网基本上是一个深层次的神经网络,它由卷积层、汇聚层、全连通层和归一化层组成。CNN适用于图像和视频识别。这里 (https://towardsdatascience.com/illustrated-10-cnn-architectures-95d78ace614d),这里 (https://towardsdatascience.com/introduction-to-convolutional-neural-networks-cnn-with-tensorflow-57e2f4837e18)还有这里 (https://towardsdatascience.com/image-classification-in-10-minutes-with-mnist-dataset-54c35b77a38d)。
- 递归神经网络(RNN)是一种特殊的神经网络,它沿时间(时间)序列而不是空间(空间)工作,这使得它在手写和语音识别等关键问题上非常有用。递归神经网络(RNN)在这里 (https://towardsdatascience.com/illustrated-guide-to-recurrent-neural-networks-79e5eb8049c9)和这里 (http://karpathy.github.io/2015/05/21/rnn-effectiveness/) 都有很好的解释。他们有短期记忆。长-短期记忆网络-通常被称为LSTMs-是一种特殊的RNN,能够学习长期依赖性(长时间记忆信息),通过保持此处所述的时间状态来解决RNN限制 (http://colah.github.io/posts/2015-08-Understanding-LSTMs/)。门控递归单元是一种较新而简单的LSTM形式。LSTM和GRU都有内部机制,称为门,用于调节信息流。LSTM和GRU之间的区别在这里 (https://towardsdatascience.com/illustrated-guide-to-lstms-and-gru-s-a-step-by-step-explanation-44e9eb85bf21) 得到了很好的解释)。
- 生成性对抗网络(GAN)是一种特殊的网络 (https://arxiv.org/pdf/1710.07035.pdf),它实际上有两个子网络生成器和鉴别器,这两个子网络不断地相互竞争。生成器尝试生成一些数据,鉴别器尝试将生成的数据与实际样本数据区分开来。这里是基础 (https://towardsdatascience.com/understanding-generative-adversarial-networks-gans-cd6e4651a29),这里是高级主题 (https://towardsdatascience.com/comprehensive-introduction-to-turing-learning-and-gans-part-2-fd8e4a70775)。
- 自动编码器(https://arxiv.org/pdf/1606.05908.pdf)和变分自动编码器 (https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f70510919f73) 是实现压缩和解压功能的一类特殊的神经网络。它们首先将输入压缩到一个潜在空间表示中,然后从该表示中解压缩输出,从而将输入复制到输出中。自动编码器的两个应用是数据去噪和降维。这里 (https://towardsdatascience.com/deep-inside-autoencoders-7e41f319999f) 还有这里 (https://towardsdatascience.com/deep-inside-autoencoders-7e41f319999f)。
- 图形神经网络(GNN) (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1015.7227&rep=rep1&type=pdf,https://arxiv.org/pdf/1812.08434.pdf) 是一种基于深度学习的图形处理方法。现有机器学习算法的一个关键假设是每个数据实例彼此独立。这种假设不再适用于社会网络、地理地图、分子结构等图形数据,因为每个实例(节点)通过链接和交互与其他实例(节点)相关。GNNs自然有助于建立图形数据结构的模型。像CNNs和RNNs这样的标准神经网络不能处理图形输入,因为它们是从一层到下一层的顺序处理。这里 (https://towardsdatascience.com/https-medium-com-aishwaryajadhav-applications-of-graph-neural-networks-1420576be574) 和这里 (https://towardsdatascience.com/a-gentle-introduction-to-graph-neural-network-basics-deepwalk-and-graphsage-db5d540d50b3) 的基础知识。GNN与CNN的混合称为图形卷积网络(GCN) (https://towardsdatascience.com/beyond-graph-convolution-networks-8f22c403955a) ,RNN称为图形时空网络(Graph Spatio-Temporal Networks),自动编码器称为图形自动编码器。卷积网络(GCN)是更有趣的网络(这里是基础https://towardsdatascience.com/beyond-graph-convolution-networks-8f22c403955a)。还有两种口味。光谱GCN或空间GCN。光谱gcn使用的滤波器类似于常规卷积神经网络的处理方式。另一方面,空间GCN通过聚合相邻节点来进行卷积。
- Spiking Neural Networks(https://arxiv.org/pdf/1804.08150.pdf)是下一代神经网络(ANN),它希望利用类似于我们大脑神经元功能的模型,弥合神经科学和机器学习之间的鸿沟。SNNs顾名思义使用离散激活阈值或峰值,而不是常用网络中的连续值。更多 (https://towardsdatascience.com/spiking-neural-networks-the-next-generation-of-machine-learning-84e167f4eb2b)。
考虑到神经网络模型的复杂性和爆炸性,有相当大的努力使架构工程自动化,以找到针对给定业务问题的最佳机器学习模型设计神经架构搜索 (https://towardsdatascience.com/neural-architecture-search-nas-the-future-of-deep-learning-c99356351136)。这是AutoML和超参数优化的一个子领域。这里 (https://towardsdatascience.com/neural-architecture-search-nas-the-future-of-deep-learning-c99356351136) 还有这里 (https://towardsdatascience.com/everything-you-need-to-know-about-automl-and-neural-architecture-search-8db1863682bf)。
ML平台
一个重要的努力不是花在创新新的学习算法或模型上,而是花在改进ML工具和基础设施上。ML平台为机器学习开发人员、数据科学家和数据工程师提供了基础,使他们能够快速、经济高效地将ML项目从构思到生产和部署。
ML生命周期
典型的ML生命周期从数据准备开始,然后是(特性)发现、开发和培训模型、测试、部署,最后使用模型进行推断或预测。数据准备通常与获取、推导和清理足够的训练数据以输入ML算法有关。功能发现和提取识别对业务领域最重要的关键数据属性。部署包括可观测性、可调试性、监控和生产化。这里可以找到Auto-ML框架 (https://medium.com/georgian-impact-blog/choosing-the-best-automl-framework-4f2a90cb1826)的特定于云的基准 (https://arxiv.org/pdf/1808.06492.pdf)。
在现代的ML生命周期中有几个挑战(见技术债务 Technical Debt.https://papers.nips.cc/paper/5656-hidden-technical-debt-in-machine-learning-systems.pdf)。
- 多个算法和库—ML开发人员通常希望尝试所有可用的算法来构建最精确的模型,而一个正在进行活动项目的团队可能会尝试多个处理库—例如 ...
- MxNet(https://www.cs.cmu.edu/~muli/file/mxnet-learning-sys.pdf)
- TensorFlow(http://download.tensorflow.org/paper/whitepaper2015.pdf)
- Clipper(https://www.usenix.org/system/files/conference/nsdi17/nsdi17-crankshaw.pdf)
- Caffe(https://arxiv.org/pdf/1408.5093.pdf)
- PyTorch(https://papers.nips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdf)
- Theano(https://arxiv.org/pdf/1605.02688.pdf)
- Chainer(https://arxiv.org/pdf/1908.00213.pdf)
- 实验-模型预测可能受到数百个配置参数的影响,从输入数据到超参数。
- 精确性-从培训到部署的模型可能会从数据科学家转手到数据工程师,后者可能最终使用不同版本的库,从而导致模型性能不佳。
- 部署-由于多个推理环境(如REST服务、批处理和在线评分)而存在挑战。像Kubeflow这样的框架使得部署更加简单 (https://medium.com/de-bijenkorf-techblog/deploying-machine-learning-models-with-kubeflow-b2cb45cf22f5) 。
MLFlow (https://cs.stanford.edu/~matei/papers/2018/ieee_mlflow.pdf)斯坦福大学的开源项目(Databricks)和DAWN项目 (https://arxiv.org/pdf/1705.07538.pdf)(Data analytics for what next)正试图解决这些挑战。
MLflow的关键原则是开放式界面设计,与现有的ML平台如...
- Facebook FbLearner (https://engineering.fb.com/core-data/introducing-fblearner-flow-facebook-s-ai-backbone/)
- Uber (https://towardsdatascience.com/uber-has-been-quietly-assembling-one-of-the-most-impressive-open-source-deep-learning-stacks-in-b645656ddddb)
- Michaelangelo (https://eng.uber.com/michelangelo/)
- Netflix (https://blog.valohai.com/machine-learning-infrastructure-lessons-from-netflix)
- Google TFX (http://stevenwhang.com/tfx_paper.pdf)
- Airbnb Bighead (https://conferences.oreilly.com/strata/strata-ny-2018/public/schedule/detail/69383)
- 腾讯 (http://www.vldb.org/pvldb/vol7/p1772-tencent.pdf)
相比,这种开放式界面设计在保留生命周期管理优势的同时,为用户提供了灵活性和控制能力。DAWN堆栈除了解决ML生命周期的挑战外,还解决了从新接口到新硬件的抽象。
ML Stack
AI/ML ArkAI Stack (http://www.arkai.net/custom/page/stack_course/4575)
1) 计算硬件-一个很好的看法,计算硬件-CPU,GPU和TPU-可以在这些文件中找到从Facebook (https://research.fb.com/wp-content/uploads/2017/12/hpca-2018-facebook.pdf) 和谷歌 (https://arxiv.org/pdf/1704.04760.pdf)。量子物理(https://towardsdatascience.com/exploring-tensorflow-quantum-googles-new-framework-for-creating-quantum-machine-learning-models-3af27ba916e9)与ML(https://towardsdatascience.com/exploring-tensorflow-quantum-googles-new-framework-for-creating-quantum-machine-learning-models-3af27ba916e9)的交叉产生了量子机器学习 (https://towardsdatascience.com/exploring-tensorflow-quantum-googles-new-framework-for-creating-quantum-machine-learning-models-3af27ba916e9)。Google最近开放源码的Tensorflow Quantum (https://www.tensorflow.org/quantum),用于使用Google Cirq等框架快速成型混合经典量子模型(https://github.com/quantumlib/Cirq)。
2) 具有高度并行性的分布式深度学习运行模型需要并发性(见分析) (https://arxiv.org/pdf/1802.09941.pdf)和调度程序(DL2 (https://arxiv.org/pdf/1909.06040.pdf)、Optimus (https://i.cs.hku.hk/~cwu/papers/yhpeng-eurosys18.pdf)和Tiresias(https://www.usenix.org/system/files/nsdi19-gu.pdf))。在构建分布式深度学习框架方面有很多进展,这里有一个很好的介绍,其中最受欢迎的是Google GPIPE (https://arxiv.org/pdf/1811.06965.pdf)、Uber Horovard(https://arxiv.org/pdf/1802.05799.pdf)、DeepMind的TF Replicator (https://arxiv.org/pdf/1902.00465.pdf) 和微软的PipeDream (https://arxiv.org/pdf/1806.03377.pdf) Zero&&DeepSpeed(https://www.microsoft.com/en-us/research/blog/zero-deepspeed-new-system-optimizations-enable-training-models-with-over-100-billion-parameters/)。
3) 功能存储允许不同的团队管理、存储和发现用于机器学习项目的功能。它充当数据工程和数据科学之间的API,支持改进的协作。这里有一个很好的介绍 (https://towardsdatascience.com/what-are-feature-stores-and-why-are-they-critical-for-scaling-data-science-3f9156f7ab4),其中列出了一些特色商店。
* 来自谷歌的Feast ( [https://cloud.google.com/blog/products/ai-machine-learning/introducing-feast-an-open-source-feature-store-for-machine-learning](https://cloud.google.com/blog/products/ai-machine-learning/introducing-feast-an-open-source-feature-store-for-machine-learning)), ( [https://towardsdatascience.com/using-feast-to-centralize-feature-storage-in-your-machine-learning-applications-dfa84b35a1a0](https://towardsdatascience.com/using-feast-to-centralize-feature-storage-in-your-machine-learning-applications-dfa84b35a1a0))
* LogicalClocks公司的HopesWorks ( [https://uploads-ssl.webflow.com/5e6f7cd3ee7f51d539a4da0b/5e6f7cd3ee7f519fdfa4dadb_feature%20store%20whitepaper%201-0.pdf](https://uploads-ssl.webflow.com/5e6f7cd3ee7f51d539a4da0b/5e6f7cd3ee7f519fdfa4dadb_feature%20store%20whitepaper%201-0.pdf))
* LinkedIn的Frame ( [https://www.slideshare.net/DavidStein1/frame-feature-management-for-productive-machine-learning](https://www.slideshare.net/DavidStein1/frame-feature-management-for-productive-machine-learning))
* Airbnb的ZipLine ( [https://databricks.com/session/zipline-airbnbs-machine-learning-data-management-platform](https://databricks.com/session/zipline-airbnbs-machine-learning-data-management-platform))
* ML Ops ( [https://towardsdatascience.com/mlops-with-a-feature-store-816cfa5966e9](https://towardsdatascience.com/mlops-with-a-feature-store-816cfa5966e9))可以与一个特性存储相结合,以自动化模型的培训、测试和部署。
4) 可解释性和可解释性-人工智能系统中信任的4个特征是i)模型和数据没有偏见的公平性ii)稳健性,不易篡改或损害他们接受过培训的数据iii)决策可以被消费者理解的可解释性iv)允许审核模型生命周期的开发、部署和维护。这些技术中最突出的是LIME和SHAP (https://towardsdatascience.com/idea-behind-lime-and-shap-b603d35d34eb),它们基于模型不可知的方法,这些方法专注于解释给定黑盒分类器的单个预测。局部可解释模型不可知解释(LIME)提供了一种快速的方法,它通过随机地迭代扰动模型特征来获得预测,然后利用预测计算近似的线性解释模型。SHAP(SHapley加法解释)通过计算每个特征对预测的贡献来工作。它起源于联合博弈理论,其中数据实例的每个特征值充当联盟中的参与者,并计算每个特征的边际贡献或支出(参见Chris Molnar的《可解释机器学习》一书https://christophm.github.io/interpretable-ml-book/)。这里很好地描述了这两种技术之间的进一步差异 (https://medium.com/ibm-garage/explaining-black-box-models-ensemble-and-deep-learning-using-lime-and-shap-53c59d9f09b3)。谷歌的可扩展性白皮书也是一个很好的参考 (https://storage.googleapis.com/cloud-ai-whitepapers/AI%20Explainability%20Whitepaper.pdf)。
为了消除偏见 (https://towardsdatascience.com/how-to-detect-bias-in-ai-872d04ce4efd),Google最近引入了两种新的方法,即用概念激活向量(TCAVhttps://towardsdatascience.com/tcav-interpretability-beyond-feature-attribution-79b4d3610b4d)和联合学习进行测试。TCAV从实例数据中学习概念。例如,TCAV需要实例数据中的几个女性示例,以学习性别概念。人类用概念思考和交流,而不是对每个特征使用权重。TCAV以人类相互交流的方式提供解释。联合学习 (https://ai.googleblog.com/2017/04/federated-learning-collaborative.html)将模型训练推向了边缘(以移动计算为例)。
5) 可视化-与模型的可解释性和可解释性相关的是模型可视化。白盒 (https://medium.com/sciforce/introduction-to-the-white-box-ai-the-concept-of-interpretability-5a31e1058611)人工智能着眼于模型复杂度和模型感知,提出了不同的可视化技术 (https://medium.com/sciforce/white-box-ai-interpretability-techniques-93ef257dd0bd)。谷歌开源Facets (https://ai.googleblog.com/2017/07/facets-open-source-visualization-tool.html)有助于培训数据的可视化,Uber在内部使用Manifold (https://arxiv.org/pdf/1808.00196.pdf),而Facebook有HiPlot (https://ai.facebook.com/blog/hiplot-high-dimensional-interactive-plots-made-easy/)。
6) 度量-度量用于度量模型的质量和性能。有许多不同类型的评估指标可用于测试模型。包括混淆矩阵、分类准确度、精密度、召回率、ROC、AUC、F1评分、敏感性、特异性、对数损失、均方误差和绝对误差。这个由三部分组成的系列是一个很好的参考 (http://mkhalusova.github.io/blog/2019/04/11/ml-model-evaluation-metrics-p1)。另一个介绍性的参考资料在这里 (https://towardsdatascience.com/20-popular-machine-learning-metrics-part-1-classification-regression-evaluation-metrics-1ca3e282a2ce)。就模型预测而言,偏差和方差之间存在一种权衡,这种权衡可能是由于拟合不足或拟合过度造成的 (https://towardsdatascience.com/understanding-the-bias-variance-tradeoff-165e6942b229)。为了建立一个好的模型,你需要通过在偏差和方差之间找到一个好的平衡来最小化总误差。另一个需要测量的重要问题是概念漂移和模型衰减 (https://towardsdatascience.com/concept-drift-and-model-decay-in-machine-learning-a98a809ea8d4)。当输入和输出数据之间的关系随着时间的推移而改变时,概念漂移就发生了(https://machinelearningmastery.com/gentle-introduction-concept-drift-machine-learning/),这意味着在较旧数据上训练的模型不再像在较新数据上训练的那样精确。防止模型衰减的一个好方法是持续监视和维护它 (https://towardsdatascience.com/why-machine-learning-models-degrade-in-production-d0f2108e9214)。
最后,下一节是为一个人工智能技术专家谁是感兴趣的建设和扩展ML算法和平台。
- 深度学习的体系结构、算法和应用综述 (https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S2048770313000097)
- 深度学习综述:算法、技术和应用 (https://eclass.uop.gr/modules/document/file.php/DIT209/προτεινόμενη%20θεματολογία%202019-2020/A%20Survey%20on%20Deep%20Learning%20Algorithms%2C%20Techniques%2C.pdf)
- 机器学习框架与图书馆综述 (https://www.researchgate.net/publication/329990977_Machine_Learning_and_Deep_Learning_frameworks_and_libraries_for_large-scale_data_mining_a_survey)
- 分布式基础设施上可扩展的深度学习:挑战、技术和工具 (https://arxiv.org/pdf/1903.11314.pdf)
- 大规模图形网络综述。(https://arxiv.org/pdf/1901.00596.pdf)