作為一名亞馬遜助理納米工作者從合格的購買中獲得收入。
    smartworlder標誌
    smartworlder標誌

    人工智能解釋-它是什麼,它做什麼

    內容
    -人工智能的背景、曆史和定義
    -人工智能的目標-弱AI vs強AI
    -人工智能的四種類型
    -人工智能的子集
    -人工智能的例子
    -人工智能編程語言和編程框架
    -納米技術中的人工智能
    很少有術語像人工智能那樣被人理解得如此之少,它引發了如此多的問題和爭論,以至於沒有一個對該領域的單一定義被普遍接受。要得到這樣一個定義就更加複雜了,如果不是不可能的話,因為甚至沒有一個一致同意的(人類)智力的定義,或者什麼構成了“思考”。

    人工智能的背景、曆史和定義

    人工智能(AI)科學的研究始於20世紀50年代,受計算機發明的刺激。1950年,艾倫·圖靈發表了他的論文計算機與智能他提出要考慮“機器會思考嗎?”然後繼續討論如何製造智能機器以及如何測試它們的智能。
    他提出了一個模仿遊戲,後來被稱為圖靈測試在該項目中,人類評估員將對人類與旨在產生類似人類反應的機器之間的自然語言對話進行判斷。如果評估者不能可靠地區分機器和人,則稱機器通過了測試。測試結果並不取決於機器對問題給出正確答案的能力,而是取決於它的答案與人類給出的答案有多相似。
    ELIZA是由麻省理工學院人工智能實驗室的Joseph Weizenbaum於1964-1966年開發的一種自然語言處理計算機程序,它獲得了狂熱的地位,是最早的聊天機器人之一,也是最早能夠嚐試圖靈測試的程序之一。
    伊麗莎接口
    非常60年代的Eliza界麵。

    一切開始的地方

    從圖靈的論文到1956年,往前走了六年達特茅斯人工智能夏季研究項目這一事件被廣泛認為是人工智能領域的奠基事件。該活動由約翰·麥卡錫、馬文·明斯基、納撒尼爾·羅切斯特和克勞德·香農組織。在籌備研討會的過程中,約翰·麥卡錫創造了這個術語人工智能
    當時,科學家們認為人類的智力可以被如此精確地描述,以至於可以製造一台機器來模擬它。從研討會的提案中可以看出:“這項研究是基於這樣一個猜想進行的,即學習的每一方麵或智能的任何其他特征在原則上都可以被如此精確地描述,以至於可以製造出一台機器來模擬它。我們將嚐試找到如何讓機器使用語言,形成抽象概念,解決目前隻有人類才能解決的各種問題,並提高自己。”
    從那以後,人們提出了許多不同的人工智能定義。

    早期

    例如,馬文·明斯基(麻省理工學院人工智能實驗室的聯合創始人)在他的書中心智的社會將其定義為“研究如何讓機器做人們認為需要智能才能做的事情的領域。”他接著表示,心理學和人工智能之間沒有明確的界限,因為大腦本身就是一種機器。
    在心理學上,人類智力的特征通常是多種多樣行為的組合,而不僅僅是一種特征。這包括學習、形成概念、理解、應用邏輯和推理的能力,包括識別模式、計劃、創新、解決問題、做決定、保留信息和使用語言交流的能力。
    人工智能的研究主要集中在相同的能力上;或者像帕特裏克·亨利·溫斯頓(Patrick Henry Winston),他接替明斯基成為麻省理工學院人工智能實驗室(現為麻省理工學院人工智能實驗室)主任麻省理工學院計算機科學與人工智能實驗室把它寫進他的書裏人工智能人工智能研究的是使感知、推理和行動成為可能的計算。
    根據這一定義,人工智能利用計算機和機器來模仿人類思維解決問題和決策的能力。

    以知識為基礎的係統

    人工智能研究的另一個分支不是從零開始解決每個問題,而是尋求將知識體現在機器中:解決問題的最有效方式是已經知道如何解決它。但簡單的假設本身就存在幾個問題:發現如何獲得所需的知識;學習如何表示它;開發能夠有效利用知識的過程。
    這項研究已經導致了許多實際基於知識的問題解決係統.有些被稱為專家係統因為它們是基於模仿特定人類專家的方法。
    1995年,Stuart J. Russell和Peter Norvig出版了關於人工智能的主要教科書之一人工智能:一種現代方法,其中他們深入研究了人工智能的四個潛在目標或定義。他們根據理性、思考和行動來區分認知計算機係統:
    一種處理思維過程和推理的人類方法
  • 像人類一樣思考的係統
  • 像人類一樣行動的係統
  • 處理行為的理想方法
  • 理性思考的係統
  • 理性行動的係統
  • 艾倫·圖靈的定義應該屬於“像人類一樣行動的係統”的範疇。
    最近,穀歌的人工智能研究員、機器學習軟件庫的創建者弗朗索瓦·喬萊(Francois Chollet)Keras他認為,智能與一個係統在新環境中適應和即興發揮的能力、將其知識歸納並應用於陌生場景的能力有關:“智能是一種效率,它使你在完成你之前不知道、也沒有準備的任務時獲得新技能……因此,智能本身不是一種技能,它不是你知道什麼,也不是你能做什麼,而是你能多好、多高效地學習。”(觀看他的完整采訪這裏是YouTube).
    還有另一個定義從IBM假設“人工智能是計算機對人類智能過程的模擬。這些過程包括從不斷變化的數據中學習,通過推理來理解數據,以及通過自我修正機製來做出決策。”

    人工智能研究方法

    早期的人工智能研究發展成兩種截然不同的、在某種程度上相互競爭的方法——自上而下(或符號)方法和自下而上(或連接主義)方法。
    自上而下的方法試圖通過分析獨立於大腦生物結構的認知來複製智能,就符號處理而言。相比之下,自下而上的方法尋求模仿大腦結構創建人工神經網絡。
    兩種方法都麵臨著困難:符號技術在簡化的實驗室環境中工作,但在麵對現實世界的複雜性時通常會崩潰;與此同時,自下而上的研究人員無法複製哪怕是最簡單的生物的神經係統。秀麗隱杆線蟲這是一種被廣泛研究的蠕蟲,它有大約300個神經元,其相互連接的模式是完全已知的。然而,連接主義者的模型甚至未能模擬這種蠕蟲( ).

    人工智能的目標-弱AI vs強AI

    人工窄智能

    弱AI,或者更恰當地說:人工窄智能(ANI),在有限的環境中運行,是對人類智能的模擬。狹義人工智能通常專注於極好地完成一項任務,雖然這些機器看起來很智能,但它們的運行受到的約束和限製甚至比最基本的人類智能多得多。
    ANI係統已經廣泛應用於商業係統,例如作為個人助理(如Siri和Alexa)、專家醫療診斷係統、股票交易係統、穀歌搜索、圖像識別軟件、自動駕駛汽車或IBM的沃森(Watson)。

    人工通用智能

    強大的AI,或者人工通用智能(AGI)是我們在電影中看到的那種人工智能,就像電影中的機器人西方世界Ex_Machina,或我,機器人.強人工智能的終極目標是製造出一種整體智力能力與人類不相上下的機器。就像人類一樣,AGI係統也具有自我意識,能夠解決任何問題、學習和規劃未來。

    超智

    然後還有一個概念人工超級智能(ASI),或超級智能,它將超越人類大腦的智力和能力。超級智能目前仍然完全是理論,沒有實際應用的例子。

    認知計算

    在人工智能的背景下,你可能會聽到一個術語是認知計算.這些術語經常可以互換使用。盡管這兩種技術都是指能夠執行和/或增強任務、幫助更好地提供決策信息、創造傳統上需要人類智能的交互,如計劃、從部分或不確定的信息推理和學習,但它們之間還是有區別的。
    人工智能係統的目標是通過盡可能好的算法(不一定像人類那樣)解決問題,而認知係統則模仿人類的行為和推理來解決複雜的問題。

    人工智能的四種類型

    1型AI:反應性機器

    AI係統最基本的類型是純反應性的,既不能形成記憶,也不能利用過去的經驗來為當前的決策提供信息。IBM的國際象棋超級計算機“深藍”(Deep Blue)就是這類機器的完美例子,它在上世紀90年代末擊敗了國際象棋大師加裏•卡斯帕羅夫(Garry Kasparov)。
    “深藍”可以識別國際象棋棋盤上的棋子,並知道每一個棋子的走法。它可以預測自己和對手的下一步行動。它可以從各種可能性中選擇最優的招數。
    但它對過去沒有任何概念,也不記得以前發生過什麼。除了一個很少使用的特定國際象棋規則,即不重複相同的移動三次之外,“深藍”會忽略當前時刻之前的一切。它所做的就是觀察當前棋盤上的棋子,從可能的下一步棋中做出選擇。
    這種類型的智能包括計算機直接感知世界,並根據它所看到的采取行動。它不依賴於對世界的內在概念。在一篇開創性的論文中,人工智能研究員羅德尼·布魯克斯(Rodney Brooks)認為,我們應該隻製造這樣的機器。他的主要原因是,人們不太擅長為計算機編寫精確的模擬世界,這在人工智能學術界被稱為世界的“表征”。
    我們所驚歎的目前的智能機器,要麼沒有這樣的世界概念,要麼隻有一個非常有限的、專門的世界來履行其特定的職責。“深藍”設計的創新之處在於,它並沒有擴大計算機可能考慮的電影的範圍。相反,開發人員找到了一種方法來縮小它的視野,根據它對結果的評價,停止追求一些潛在的未來舉措。如果沒有這種能力,“深藍”將需要更強大的計算機才能真正擊敗卡斯帕羅夫。
    同樣,穀歌的AlphaGo打敗了頂尖的人類圍棋專家,也無法評估未來所有的潛在走法。它的分析方法比“深藍”更複雜,使用神經網絡來評估遊戲開發。
    這些方法確實能提高AI係統更好地玩特定遊戲的能力,但它們無法輕易改變或應用於其他情況。這些計算機化的想象力對更廣闊的世界沒有概念,這意味著它們不能在分配給它們的特定任務之外發揮作用,而且很容易被愚弄。
    它們不能像我們想象的人工智能係統有一天可以與世界互動。相反,這些機器每次遇到相同的情況都會表現出完全相同的行為。這對於確保人工智能係統是值得信賴的非常有利:你希望你的自動駕駛汽車是一個可靠的駕駛員。但如果我們想讓機器真正與世界接觸,並對世界做出反應,那就不好了。這些最簡單的AI係統永遠不會感到無聊、感興趣或悲傷。

    Type 2 AI:內存有限

    這個Type 2類包含可以查看過去的機器。自動駕駛汽車已經做到了這一點。例如,他們觀察其他車輛的速度和方向。這不能在瞬間完成,而是需要識別特定的對象,並隨著時間的推移進行監控。
    這些觀察結果被添加到自動駕駛汽車的預編程世界表示中,其中還包括車道標記、紅綠燈和其他重要元素,如道路的彎道。當汽車決定何時改變車道,以避免截住另一名司機或被附近的汽車撞到時,它們就會被包括在內。
    但這些關於過去的簡單信息隻是短暫的。它們不像人類駕駛員在駕駛多年後積累經驗那樣,被保存在汽車的經驗庫中供其學習。
    那麼,我們如何構建能夠構建完整表示、記住它們的經驗並學習如何處理新情況的AI係統呢?布魯克斯是對的,因為要做到這一點非常困難。我自己的研究受到達爾文進化論的啟發,通過讓機器建立自己的表征,可以開始彌補人類的缺點。

    第三類人工智能:心智理論

    我們可以到此為止,把這一點稱為我們現有的機器和我們未來將製造的機器之間的重要分水嶺。然而,最好是更具體地討論機器需要形成的表示類型,以及它們需要關於什麼。
    下一個更高級的級別的機器不僅形成了對世界的表征,也形成了對世界上其他代理或實體的表征。在心理學上,這被稱為“心理理論”——理解世界上的人、生物和物體可以有影響自己行為的思想和情感。
    這對我們人類如何形成社會是至關重要的,因為它們允許我們進行社會互動。如果不了解彼此的動機和意圖,不考慮其他人對我或環境的了解,合作往好了說是困難的,往壞了說是不可能的。
    如果人工智能係統真的要在我們中間行走,它們必須能夠理解我們每個人對我們將如何被對待有想法、感覺和期望。他們必須相應地調整自己的行為。

    第四類人工智能:自我意識

    人工智能開發的最後一步是構建能夠形成自身表征的係統。最終,我們這些人工智能研究人員不僅要理解意識,還要製造具有意識的機器。
    從某種意義上說,這是III型人工智能所擁有的“心智理論”的延伸。意識也被稱為“自我意識”是有原因的。(“我想要那件東西”和“我知道我想要那件東西”是截然不同的陳述。)有意識的人意識到自己,知道自己的內在狀態,並且能夠預測他人的感受。我們認為在交通中在我們後麵按喇叭的人是憤怒或不耐煩的,因為我們對別人按喇叭時也是這種感覺。如果沒有心智理論,我們就無法做出這樣的推論。
    雖然我們可能還遠沒有創造出有自我意識的機器,但我們應該把精力集中在理解記憶、學習和基於過去經驗做出決定的能力上。這是理解人類智能本身的重要一步。如果我們想要設計或進化出能夠對眼前事物進行分類的機器,這是至關重要的。

    人工智能的子集

    對各種人工智能應用做出貢獻的認知技術可以大致概括為幾類,你可能聽說過。讓我們來逐一解釋一下:

    什麼是專家係統?

    這些係統獲取特定主題的知識,並能像該主題的人類專家一樣準確地解決問題。專家係統是第一批真正成功的人工智能軟件。一個專家係統分為兩個子係統:推理引擎和知識庫。知識庫代表事實和規則。推理引擎將這些規則應用到已知的事實中,從而推斷出新的事實。推理引擎還可以包括解釋和調試功能。

    什麼是模糊邏輯?

    模糊邏輯是一種基於“真實程度”的計算方法,而不是現代計算機所基於的通常的“真或假”(1或0)布爾邏輯。這種隻有兩個真值(真值和假值)的標準邏輯使得模糊的屬性或情況難以描述。人類專家經常使用包含模糊表達式的規則,因此專家係統的推理引擎使用模糊邏輯是很有用的。因此,人工智能係統使用模糊邏輯來模仿人類的推理和認知。模糊邏輯不是嚴格的真理的二元情況,它包括0和1作為真理的極端情況,但具有各種中間程度的真理。IBM的沃森超級計算機是使用模糊邏輯和模糊語義變化的最突出的例子之一。
    模糊邏輯
    模糊邏輯的一個例子。(來源:Tutorialspoint)。

    什麼是機器學習?

    統計模型開發功能並不斷改進其性能的能力,而不需要遵循明確的編程指令。機器學習使計算機能夠從信息中自我學習,並應用這種學習而無需人類的幹預。這在解決方案被巨大的數據集(例如天氣預報或氣候模型)所掩蓋的情況下特別有用——這是術語所描述的領域大數據

    什麼是深度學習神經網絡?

    一種複雜的機器學習形式,涉及神經網絡,包含多層抽象變量。神經網絡是機器學習的一個子集,是深度學習算法的核心。它們的名字和結構受到人腦的啟發,模仿生物神經元相互傳遞信號的方式。神經網絡是一係列模擬人腦操作的算法,用以識別大量數據之間的關係。例如,在金融服務中,它們被用於從預測和市場研究到欺詐檢測和風險評估的各種應用。

    什麼是機器人過程自動化(RPA)?

    這是一種軟件技術,它將通常由坐在電腦前的人執行的基於規則的重複過程自動化。RPA使構建、部署和管理軟件機器人變得容易,這些機器人可以模擬人類的動作,與數字係統和軟件進行交互。就像人類一樣,軟件機器人可以做一些事情,比如理解屏幕上的內容,完成正確的按鍵,導航係統,識別和提取數據,並執行廣泛的定義動作。通過像人類一樣與應用程序交互,軟件機器人可以打開電子郵件附件,完成電子表格,記錄和重新輸入數據,並執行模仿人類行為的其他任務。但是軟件機器人可以比人類做得更快、更持久。

    什麼是自然語言處理(NLP)?

    自然語言處理使機器能夠像人類一樣理解和響應文本或語音數據。這使得人與計算機之間能夠進行對話交互。這需要有能力從文本中提取或生成可讀的、風格上自然的和語法上正確的意義和意圖。NLP驅動計算機程序將文本從一種語言翻譯成另一種語言,對口頭命令作出響應,並快速總結大量文本——甚至是實時的。在日常生活中,您已經通過語音操作的GPS係統、數字助手、語音到文本聽寫軟件或客戶服務聊天機器人的形式與NLP進行了交互。

    什麼是語音識別?

    自動準確地識別和轉錄人類語言的能力。它使用自然語言處理(NLP)將人類語言處理成書麵格式。許多移動設備將語音識別整合到它們的係統中來進行語音搜索,例如Siri或Alexa,或者為短信提供更多的便利。

    什麼是計算機視覺?

    從視覺元素中提取意義和意圖的能力,無論是字符(在文檔數字化的情況下),還是圖像內容的分類,如麵孔、對象、場景和活動。你可以在穀歌的圖像搜索服務中看到這一點。在卷積神經網絡的支持下,計算機視覺在社交媒體的照片標簽、醫療保健中的放射成像以及自動駕駛汽車識別障礙的能力方麵都有應用。

    人工智能的例子

    人工智能已經進入了各種各樣的市場。以下是一些比較突出的例子:

    人工智能在交通運輸行業中的應用

    人工智能係統在自動駕駛汽車的操作中扮演著重要的角色。自動駕駛汽車配備了大量傳感器,可以在任何環境中實時收集車輛周圍的信息。這些數據告訴車載AI係統物體的存在、距離、路況或汽車是否即將撞上什麼東西。來自這些傳感器的數據被車載設備用於即時決策,以確定是否有任何危險情況,車輛是否需要改變車道,或者是否應該減速或完全停止。
    人工智能技術被用於交通運輸的其他領域,以管理交通,預測航班延誤,並使海洋運輸更安全和更高效。

    醫療保健中的人工智能

    醫療保健中的人工智能在分析、表示和理解複雜的醫療和衛生保健數據方麵模仿人類的認知。具體來說,人工智能是指計算機算法僅根據輸入數據近似得出結論的能力。與健康相關的人工智能應用的主要目的是分析預防或治療技術與患者預後之間的關係。人工智能程序應用於諸如診斷過程、治療方案開發、藥物開發、個性化醫療以及患者監測和護理等實踐。
    例如,IBM的沃森能理解自然語言,並能回答向它提出的問題。該係統挖掘患者數據和其他可用的數據源,形成一個假設,然後用一個置信度評分模式表示。據報道,日本科學家通過應用沃森幫助診斷一種罕見癌症,挽救了一名婦女的生命。麵對一位60歲的婦女,她的癌症診斷對治療沒有反應,他們向沃森提供了2000萬份臨床腫瘤學研究報告,沃森在短短10分鍾內就診斷出了難住臨床醫生的罕見白血病。
    其他人工智能應用包括使用在線虛擬醫療助理和聊天機器人幫助患者和醫療保健客戶查找醫療信息、安排預約、理解賬單流程和完成其他管理流程。一係列人工智能技術也被用於預測、抗擊和了解COVID-19等大流行病。

    金融和銀行業中的人工智能

    金融領域的人工智能無所不包,從聊天機器人助手到信用卡欺詐檢測和任務自動化。在企業融資中,人工智能有助於更好地預測和評估貸款風險。當然,人工智能係統是為投資者在證券交易所的自動交易而開發的。
    消費金融服務正在使用聊天機器人讓客戶了解服務和產品,並處理不需要人工幹預的交易。人工智能虛擬助手正被用於改善和削減符合銀行監管規定的成本。銀行機構也在使用人工智能來改善貸款決策、設定信貸限額和識別投資機會。

    人工智能在製造業中的應用

    製造業一直走在將智能技術融入工作流程的最前沿。人工智能在製造業領域的應用非常廣泛,從故障預測和預測性維護到質量評估、庫存管理和定價決策。

    法律和法律服務中的人工智能

    合同審查和分析以及法律研究——篩選大量的文件對人類來說往往是壓倒性的。利用人工智能幫助法律行業實現勞動密集型流程的自動化,可以節省時間並改善客戶服務。律師事務所正在使用機器學習來描述數據和預測結果,使用計算機視覺從文檔中分類和提取信息,使用自然語言處理來解釋對信息的請求。

    人工智能在軍隊中的應用

    自主武器係統——通常被稱為殺人機器人——是一種擁有致命武器的機器人,可以獨立操作,選擇和攻擊目標,而不需要人類參與決策。世界各國的軍隊都在大力投資自主武器的研發。2016年至2020年期間,僅美國就為自主武器編列了180億美元的預算。

    人工智能在網絡安全中的應用

    人工智能和機器學習已經成為信息安全的關鍵,因為這些技術能夠快速分析數百萬數據集,並追蹤各種各樣的網絡威脅——從惡意軟件到可能導致釣魚攻擊的可疑行為。這些技術不斷學習和改進,從過去和現在的經驗中提取數據,以檢測異常情況,識別表明威脅的可疑活動,並確定今天或明天可能發生的新類型的攻擊。通過分析數據和使用邏輯來識別已知惡意代碼的相似之處,人工智能可以比人類員工和之前的技術迭代更快地對新的和正在出現的攻擊發出警報。

    納米技術中的人工智能

    在掃描探針顯微鏡中,研究人員開發了一種稱為功能識別成像(FR-SPM)的方法,該方法使用根據專家提供的示例訓練的神經網絡,從測量的光譜響應中尋找局部行為的直接識別。該技術將人工神經網絡(ANNs)與主成分分析相結合,通過對數據進行美白和去關聯,減少自變量的數量,簡化輸入到神經網絡的數據。
    納米材料結構特性的表征也通過使用神經網絡得到了解決。例如,這些算法已被用於確定碳納米管草坪的形態,通過量化結構屬性,如排列和曲率。
    利用神經網絡研究了透明導電氧化物沉積過程中輸入變量與輸出響應之間的非線性關係。

    人工智能編程語言

    今天的人工智能使用傳統的CMOS硬件和驅動傳統軟件的相同的基本算法功能。預計未來幾代人工智能將催生新型的腦驅動電路和架構,能夠比人類更快、更準確地做出數據驅動決策。
    AI編程與標準的軟件工程方法有很大的不同,標準的軟件工程方法通常從詳細的正式規範開始編程。在AI編程中,實現工作實際上是問題說明過程的一部分。
    用於構建人工智能和機器學習應用程序的編程語言各不相同。每個應用程序都有自己的約束和需求,在特定的問題領域,有些語言比其他語言更好。基於人工智能應用的獨特需求,語言也被創造和進化。
    AI語言進化的時代
    AI語言進化的時代(來源:IBM)
    由於許多人工智能問題的模糊性,如果編程語言將程序員從太多技術結構的約束(例如,新數據類型的低級結構,手動分配內存)中解放出來,人工智能編程將受益匪淺。相反,聲明式編程風格使用內置的高級數據結構(例如,列表或樹)和操作(例如,模式匹配)更方便,因此與標準命令式語言相比,符號計算在更抽象的級別上得到支持。
    從符號計算和人工智能編程的需求出發,最初出現了兩種基本的編程範式,作為命令式風格的替代品:功能邏輯編程風格。兩者都基於數學形式主義,即遞歸函數理論和形式邏輯。

    函數式編程風格

    第一個實用的,也是最廣泛使用的AI編程語言是函數語言口齒不清(Lisp代表列表處理器),由約翰·麥卡錫(John McCarthy)在20世紀50年代末開發。Lisp基於數學函數理論和lambda抽象。
    除了Lisp,還有許多可選的函數式編程語言被開發出來毫升(代表元語言)和Haskell
    用函數式語言進行編程包括構建函數定義並使用計算機計算表達式,即帶有具體參數的函數應用程序。然後,主要的編程任務是根據數學原理,結合之前定義的函數,為特定的問題構造一個函數。計算機的主要任務是計算函數調用並輸出結果函數值。

    邏輯編程風格

    20世紀70年代初,出現了一種新的編程範式,即基於謂詞演算的邏輯編程。第一種也是最重要的邏輯編程語言是序言(縮寫為邏輯編程),由阿蘭·科默勞爾、羅伯特·科瓦爾斯基和菲利普·魯塞爾開發。Prolog中的問題以事實、公理和邏輯規則的形式表述,用以推導出新的事實。
    Prolog中的編程由關於對象及其關係的事實規範和指定其邏輯關係的規則組成。Prolog程序是關於問題的聲明性語句集合,因為它們不指定如何計算結果,而是定義結果的邏輯結構應該是什麼。這與命令式編程甚至函數式編程截然不同,後者的重點是定義如何計算結果。使用Prolog,編程可以在非常抽象的級別上完成,非常接近問題的正式規範。

    麵向對象的語言

    麵向對象語言屬於另一種眾所周知的編程範式。在這些語言中,指定問題的主要方法是指定抽象數據結構,也稱為對象或類。類由數據結構及其通常稱為方法的主要操作組成。一個重要的特點是可以在由類和子類組成的層次結構中安排類。流行的麵向對象語言是Eiffel, c++和Java。
    隨著新的語言被開發並應用到AI問題中,AI的主力(LISP和Prolog)繼續被廣泛使用。例如,編寫沃森程序的IBM團隊使用Prolog將自然語言問題解析為沃森可以使用的新事實。
    最近在人工智能領域找到應用的編程語言:

    Python

    Python是一種通用解釋語言,它包含了許多語言的特性(例如受LISP啟發的麵向對象特性和函數特性)。使Python在智能應用程序開發中有用的是該語言之外的許多可用模塊。這些模塊涵蓋了機器學習(scikit-learn, Numpy),自然語言和文本處理(NLTK),以及許多涵蓋廣泛拓撲的神經網絡庫。

    Java

    Java它是在20世紀90年代早期開發的,可以很容易地進行編碼,具有高度的可擴展性——這使它成為人工智能項目的理想選擇。它還具有可移植性,並且可以很容易地在不同的平台上實現,因為它使用了虛擬機技術。

    c++

    C語言已經存在了很長一段時間,但仍然是相關的。1996年,IBM開發了世界上最聰明、速度最快的國際象棋程序——“深藍”。“深藍”是用C語言編寫的,每秒能夠計算2億個位置。1997年,“深藍”成為第一個擊敗國際象棋大師的人工智能。c++是C語言的擴展,除了用於低級內存操作的功能外,還具有麵向對象、泛型和函數特性。

    R

    R語言(以及使用它的軟件環境)遵循Python模型。R是一個用於統計編程和數據挖掘的開源環境,用C語言開發。因為相當多的現代機器學習本質上是統計的,R是一種有用的語言,自2000年穩定發布以來越來越受歡迎。R包含大量涵蓋各種技術的庫;它還包括使用新特性擴展語言的能力。

    茱莉亞

    茱莉亞是列表中較新的語言之一,創建的目的是關注科學和技術領域的性能計算。Julia包含了幾個直接適用於AI編程的特性。雖然它是一種通用語言,可以用來編寫任何應用程序,但它的許多特性非常適合於數值分析和計算科學。

    Scala

    Scala是一種通用語言,它將麵向對象和函數式編程風格混合成一種簡潔的機器學習編程語言。為了簡潔,Scala的許多設計決策都旨在解決對Java的批評。

    AI框架和庫

    現在有很多工具——人工智能框架和人工智能庫——可以讓深度學習、神經網絡和自然語言處理應用等人工智能應用的創建更容易、更快。
    這些是AI組件、機器學習算法和解決方案的開源集合,它們為常見用例執行特定的、定義良好的操作,以實現快速原型。

    咖啡皇

    咖啡(代表快速特征嵌入的卷積架構)是一個考慮到表達、速度和模塊化的深度學習框架。它是開源的,用c++編寫,帶有Python接口。

    Scikit-learn

    Scikit-learn,最初作為穀歌Summer of Code項目啟動於2007年,它是一個用於Python編程語言的免費軟件機器學習庫。

    穀歌Cloud AutoML

    AutoML使具有有限機器學習專業知識的開發人員能夠針對其業務需求培訓高質量的模型。AutoML提供免費試用,但提供即用即付的價格。

    亞馬遜機器學習

    亞馬遜提供了大量的人工智能和機器學習服務和工具。

    TensorFlow

    TensorFlow是穀歌Brain團隊為機器學習和人工智能開發的免費開源軟件庫,目前仍用於穀歌的研究和生產。
    張量流是一個基於數據流和可微編程的符號數學庫。它可以用於一係列任務,但特別關注深度神經網絡的訓練和推理。
    它為執行機器學習(包括深度學習)所需的數值計算提供了一個功能強大的框架。除此之外,該框架還為大多數主流語言提供了api,包括Python、C、c++、Java和Rust。
    TensorFlow使用多維數組(稱為張量)操作和連接數據集,並將數據流圖轉換為數學操作(稱為節點)。程序員可以依賴於像Python這樣的麵向對象語言,將這些張量和節點視為對象,將它們耦合起來,為機器學習操作構建基礎。

    Keras

    Keras是一個為人工神經網絡提供Python接口的開源軟件庫。Keras充當TensorFlow庫的接口。
    Keras以即插即用框架為特色,程序員可以使用該框架構建深度學習神經網絡模型,即使他們不熟悉特定的張量代數和數值技術。

    PyTorch

    PyTorch是一個基於Torch庫(用於創建深度學習算法的科學計算框架)的開源機器學習庫,用於計算機視覺和自然語言處理等應用,主要由Facebook的AI研究實驗室開發。它是使用c++接口的免費開源軟件。
    PyTorch是TensorFlow的直接競爭對手。特別是,在PyTorch中編寫優化代碼比在TensorFlow中更容易,這主要是因為它的全麵文檔、動態圖計算和對並行處理的支持。

    Apache MXNet

    Apache MXNet是一個開源的深度學習軟件框架,用於訓練和部署深度神經網絡。它提供了類似TensorFlow和PyTorch的功能,但更進一步,它為跨多台機器的深度學習模型提供了分布式訓練。
    它是可伸縮的,允許快速模型訓練,並支持靈活的編程模型和多種編程語言(包括c++, Python, Java, Julia, Matlab, JavaScript, Go, R, Scala, Perl和Wolfram Language)。
    SmartWorlder標誌
    查看我們的smartworldder部分閱讀更多信息智能技術
    Baidu
    map