人工智能相关思维导图
人工智能相关思维导图(中文)参考人工智能的各种资料和各方的知识总结做的关于人工智能的思维导图,这里面也参考很多网上相关博客的资料,包括一些人工智能思维导图的翻译,这里没有一一例举出来,感谢这些博主们总结和公开的知识。也热烈欢迎所有的贡献者。
持续更新中…思维导图包括:系列1:人工智能历史人工智能的内涵与外延人工智能未来学人工智能对社会经济的影响人工智能技术体系人工智能应用领域
系列2:人工智能基础理论人工智能关键共性技术人工智能基础支撑平台人工智能基础设施人工智能新兴产业产业智能化升级智能服务社会治理智能化
算法系列1:机器学习算法
其他:人工智能知识体系2人工智能产品
2023年5个优秀人工智能框架
在本文中,我想与他们的实际应用程序共享前五个框架和库。人工智能是计算领域的未来。看到越来越多的人工智能技术需求,越来越多的程序员熟悉了这一科学。我希望本指南将帮助您获得启发,并开始更多地了解这个强大且不断发展的领域。
[[360275]]
背景
一些重要的关键数据可以使我们有所了解:
2019年认知和人工智能系统市场的服务部门收入—127亿美元人工智能业务运营全球收入2023—108亿美元2025年全球自然语言处理(NLP)市场规模—433亿美元2019年全球人工智能创业公司的融资金额—24B美元(参考数据:https://www.statista.com)
这是一个漂亮的图表,显示了领先的高科技公司收购了多少个人工智能初创企业:
>https://www.statista.com/chart/9443/ai-acquisitions/
介绍
假设您决定在这一领域进行练习和发展。今天,我们将看到软件工程师如何将深度学习和人工智能应用于他们的编程工作。
我们必须知道的第一件事是如何应用它,这是一个进行研究的好问题:"什么是2021年开始学习的最有用的框架/库?"这正是我问自己的问题。
这就是我们今天在本文中要解决的问题:我收集了每个软件工程师/开发人员都需要了解的最受欢迎的五个人工智能框架和库。您还将找到官方文档页面以及一些有关如何应用它们的实践应用程序。
这将有助于我们不仅了解他们的名字,而且更了解他们。足够介绍。让我向您介绍小队!
1.Caffe
作为咖啡爱好者,我想从Caffe开始,它代表快速特征嵌入的卷积架构。伯克利AI的AnalysisCaffe是与小组成员合作的深度学习框架。
通过其框架,可以启动语言,速度和可用性。它具有可靠的体系结构,可遵循配置定义的系统,并且无需硬编码即可进行优化。这对于在CPU和GPU之间进行切换也很有用。
Caffe是一个科研项目和工业实施的理想选择,因为它每天使用一个NVIDIAGPU即可处理超过6000万张照片。
AI框架可响应C++,CUDA的命令行,Python和MATLAB接口。建立协进化神经网络(CNN)以使用Caffe识别图片非常简单。
官方页面:Caffehttps://caffe.berkeleyvision.org/
价格:免费(开源)
一些实际的应用程序:
学习LeNethttps://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/01-learning-lenet.ipynb图像分类和滤镜可视化https://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/00-classification.ipynb2.Torch
Torch是用于科学和数字处理的科学计算系统。它产生具有节奏,多功能性和可用性的算法。
Torch似乎将GPU放在首位,并且是与NumPy等效的Tensor库。它捆绑在LuaJIT中,并且具有C/CUDA的基本集成。通过使用大量算法,这提高了性能并促进了深度学习分析。
Torch使用者配备了易于使用的库,因此可以对人工智能分布式系统进行模块化应用。通过通用的N维数组,这可以通过诸如切割和分度之类的程序来改善。它还包括线性代数协议和神经网络。
官方页面:火炬http://torch.ch/
价格:免费(开源)。
一些实际的应用程序:
玩Atari游戏的Deep-Q强化学习https://github.com/soumith/cvpr2015/blob/master/DQN%20Training%20iTorch.ipynb应用视觉和自然语言深度学习https://on-demand.gputechconf.com/gtc/2015/webinar/torch7-applied-deep-learning-for-vision-natural-language.mp43.Scikit-learn
Scikit-learn是人工智能的可访问方法之一,可从商业上获得AI框架。这是一个Python程序,可同时进行有监督和无监督的机器学习。
它是通用的AI创建方法之一,支持分组,回归,聚类算法和降维,模型收集和预处理。
数据科学家可以使用sci-kitlearning提供的详细用户指南轻松地访问工具,从分类和多标签算法到协方差估计。
Sci-kit编程具有交叉验证,受控和不受监控的学习算法等功能。
官方页面:Scikit-learnhttps://scikit-learn.org/stable/
价格:免费(开源)。
一些实际的应用程序:
支持向量机(SVM)监督学习https://scikit-learn.org/stable/modules/svm.html#classification分解组件中的信号https://scikit-learn.org/stable/modules/decomposition.html#decompositions4.GoogleCloudAutoML
关于前面提到的所有工具和库,AutoML当前是机器学习工程师可用工具库中最新最好的一种。
如概述中所述,效率对于机器学习职责至关重要。尽管从中获得的好处是可观的,但确定最佳超参数并非易事。
在类似黑匣子的神经网络中尤其如此,随着网络复杂性的增加,决定重要事项的难度也越来越大。请记住一个有趣的事实:Google云端服务提供了AutoML。
官方页面:GoogleCloudAutoMLhttps://cloud.google.com/automl
价格:定价(按使用量付费)。
一些实际的应用程序:
AutoML视觉https://cloud.google.com/vision/automl/docs使用AutoML自然语言进行自定义文本分类https://www.youtube.com/watch?v=ieaqfU1BwJ85.亚马逊机器学习
AmazonWebServices(AWS)具有广泛的机器学习框架,全球数百个组织和组织都在使用。其软件与核心人工智能系统集成,并提供了一系列现成的AI应用程序。从聊天机器人到分类,AWS提供了许多训练有素的智能模型。
官方页面:AWSMachineLearninghttps://aws.amazon.com/
价格:定价(按使用量付费)。
一些实际的应用程序:
AmazonPersonalize:使用Amazon更快地获得实时个性化用户体验https://aws.amazon.com/personalize/?c=ml&sec=srvAmazonKendra:高度精确的智能搜索服务。https://aws.amazon.com/kendra/?c=ml&sec=srv结论
当然,除了列出的框架和库外,还有许多其他框架和库。我只分享了一滴人工智能和深度学习海洋。
人工智能是计算领域的一个迷人的市场。每个自重的软件开发人员都必须具有坚定的AI开发经验。至少有一些背景知识。
成为一名优秀的AI专业人员需要强大的理智,技能,毅力和职业道德。如果您有它们,那么现在是进入此领域的理想选择和时间。
人工智能常用框架
上一讲我们简单探讨了人工智能是什么,那么既然知道是什么,下一步去搞清楚,怎么去做?用什么去做?目前市面上了,大家都是怎么做的,正所谓,工欲善其事,必先利其器,本来是个非常复杂的工程,利用工具,我们就能轻松运用和理解
下面简单介绍几种框架,帮我们实现人工智能
1.TensorFlow“使用数据流图表的可伸缩机器学习的计算”
语言:C++或Python。
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。
TensorFlow是一个使用数据流图表进行数值计算的开源软件。这个框架被称为具有允许在任何CPU或GPU上进行计算的架构,无论是台式机、服务器还是移动设备。这个框架在Python编程语言中是可用的。
TensorFlow对称为节点的数据层进行排序,并根据所获得的任何信息做出决定。点击查看详情!
优点:
使用易于学习的语言(Python)。使用计算图表抽象。用于TensorBoard的可用性的可视化。缺点:
这很慢,因为Python不是语言中最快的。缺乏许多预先训练的模型。不完全开源。2.MicrosoftCNTK“开源深度学习工具包”
语言:C++。
我们可以称之为微软对Google的TensorFlow的回应。
微软的计算网络工具包是一个增强分离计算网络模块化和维护的库,提供学习算法和模型描述。
在需要大量服务器进行操作的情况下,CNTK可以同时利用多台服务器。
据说它的功能与Google的TensorFlow相近;但是,它会更快。在这里了解更多。
优点:
这是非常灵活的。允许分布式训练。支持C++、C#、Java和Python。缺点:
它以一种新的语言——网络描述语言(NetworkDescriptionLanguage,NDL)来实现。缺乏可视化。3.Theano“数值计算库”
语言:Python。
Theano是TensorFlow的强有力竞争者,是一个功能强大的Python库,允许以高效率的方式进行涉及多维数组的数值操作。
Theano库透明地使用GPU来执行数据密集型计算而不是CPU,因此操作效率很高。
出于这个原因,Theano已经被用于为大规模的计算密集型操作提供动力大约十年。
然而,在2017年9月,宣布Theano的主要开发将于2017年11月发布的1.0版本后停止。
这并不意味着它是一个不够强大的库。你仍然可以随时进行深入的学习研究。在这里了解更多。
优点:
正确优化CPU和GPU。有效的数字任务。缺点:
与其他库相比,原生Theano有点低级。需要与其他库一起使用以获得高度的抽象化。AWS上有点bug。4.Caffe“快速、开源的深度学习框架”
语言:C++。
Caffe是一个强大的深度学习框架。
像这个清单上的其他框架一样,深度学习的研究速度非常快。
借助Caffe,您可以非常轻松地构建用于图像分类的卷积神经网络(CNN)。Caffe在GPU上运行良好,这有助于在运行期间提高速度。查看主页获取更多信息。
Caffe主要的类有:
优点:
Python和MATLAB的绑定可用。性能表现良好。无需编写代码即可进行模型的训练。缺点:
对于经常性网络不太好。新体系结构不太好。5.Keras“人类的深度学习”
语言:Python。
Keras是一个用Python编写的开源的神经网络库。
与TensorFlow、CNTK和Theano不同,Keras不是一个端到端的机器学习框架。
相反,它作为一个接口,提供了一个高层次的抽象化,这使得无论它坐落在哪个框架上,神经网络的配置都会变得容易。
谷歌的TensorFlow目前支持Keras作为后端,而微软的CNTK也会在很短的时间内做到这一点。在这里了解更多。
优点:
它是用户友好的。它很容易扩展。在CPU和GPU上无缝运行。与Theano和TensorFlow无缝工作。缺点:
不能有效地用作独立的框架。6.Torch“一个开源的机器学习库”
语言:C。
Torch是一个用于科学和数字操作的开源机器学习库。
这是一个基于Lua编程语言而非Python的库。
Torch通过提供大量的算法,使得深度学习研究更容易,并且提高了效率和速度。它有一个强大的N维数组,这有助于切片和索引等操作。它还提供了线性代数程序和神经网络模型。点击查看详情!
优点:
非常灵活。高水平的速度和效率。大量的预训练模型可用。缺点:
不清楚的文献记录。缺乏即时使用的即插即用代码。它基于一种不那么流行的语言——Lua。7.Accord.NET“机器学习、计算机视觉、统计和.NET通用科学计算”
语言:C#。
这是专为C#程序员设计的。
Accord.NET框架是一个.NET机器学习框架,使音频和图像处理变得简单。
这个框架可以有效地处理数值优化、人工神经网络,甚至可视化。除此之外,Accord.NET对计算机视觉和信号处理的功能非常强大,同时也使得算法的实现变得简单。点击查看详情。
优点:
它有一个强大而积极的开发团队。非常有据可查的框架。质量可视化。缺点:
不是一个非常流行的框架。比TensorFlow慢。8.SparkMLlib“可扩展的机器学习库”
语言:Scala。
Apache的SparkMLlib是一个非常可扩展的机器学习库。
它非常适用于诸如Java、Scala、Python,甚至R等语言。它非常高效,因为它可以与Python库和R库中的numpy进行互操作。
MLlib可以轻松插入到Hadoop工作流程中。它提供了机器学习算法,如分类、回归和聚类。
这个强大的库在处理大型数据时非常快速。在网站上了解更多信息。
优点:
对于大规模数据处理非常快速。提供多种语言。缺点:
陡峭的学习曲线。即插即用仅适用于Hadoop。9.Sci-kitLear“用Python的机器学习”
语言:Python。
Sci-kitlearn是一个非常强大的机器学习Python库,主要用于构建模型。
使用numpy、SciPy和matplotlib等其他库构建,对统计建模技术(如分类、回归和聚类)非常有效。
Sci-kitlearn带有监督学习算法、无监督学习算法和交叉验证等功能。点击查看详情!
优点:
许多主要算法的可用性。有效的数据挖掘。缺点:
不是构建模型的最佳选择。GPU效率不高。10.MLPack“可扩展的C++机器学习库”
语言:C++。
MLPack是一个用C++实现的可扩展的机器学习库。因为它是用C++编写的,所以你可以猜测它对于内存管理是非常好的。
MLPack以极高的速度运行,因为高质量的机器学习算法与库一起出现。这个库是对新手友好的,并提供了一个简单的API使用。点击查看详情!
优点:
非常可扩展。Python和C++绑定可用。缺点:
不是最好的文献记录。11、Pytorch
2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。Pytorch和Torch底层实现都用的是C语言,但是Torch的调用需要掌握Lua语言,相比而言使用Python的人更多,根本不是一个数量级,所以Pytorch基于Torch做了些底层修改、优化并且支持Python语言调用。它是一个基于Python的可续计算包,目标用户有两类:
使用GPU来运算numpy一个深度学习平台,提供最大的灵活型和速度