python和人工智能一樣嗎?
通俗地講,人工智能是負責拉客的,Python是負責服務客戶的,人工智能和Python是兩個不同的概念,不過彼此又擁有非常親密的合作關系。學習人工智能的往往都需要學習Python,不過學習Python的人卻不一定都是學習人工智能的。
為什么選擇python作為人工智能研究的主要編程語言這個說法其實也不是非常準確,真正在應用領域,人工智能領域不止是python語言而已,自動駕駛領域需要涉及到視覺識別和硬件編程,會用到很多C/C++等編程語言,推薦引擎要基于大數據分析,而做大數據分析,又可能用到很多Java的技術。字節跳動作為擁有今日頭條和抖音兩個旗艦推薦引擎產品的公司,他們的核心技術棧是從python轉到了Go語言。
全球最著名的人工智能學習框架TensorFlow的后端是C/C++來做的運算模塊,前端工具用的是Python,大規模的工業使用和實驗室研究還是兩碼事,不過即使是這樣,我們依然將python作為人工智能領域的主要編程語言。
Python有著天然的優勢,Python相對于C/C++來說,學習成本和學習門檻要低很多,Python的語法非常接近自然語言,也比C/C++更適合寫上層邏輯,這樣Python就可以專注于做自己的事情,把其他的交給底層的C/C++就好了。Python還是個典型的膠水語言,跟C/C++都能非常好的進行合作開發,要開發一個C/C++的跨語言接口,你找不出來比Python更方便的編程語言。
Python歷一直都是科學計算和數據分析的重要工具之一,有numpy這樣的基礎在,復用numpy基礎庫既減少了開發工作量,用Python水到渠成。Python作為語法最為簡潔、隨意的編程語言,能夠幫助開發者更好的聚焦解決問題本身,而不是去糾結各種各樣的繁瑣的底層細節,而目前人工智能領域最重要的工作是研究算法和模型,不是花時間去研究編程語言、和被Java這種啰嗦的語言搞得死去活來。
人工智能是什么?包括哪些領域字面上人工智能很好理解,就是試圖讓計算機像人的思維方式那樣去工作,不過人工智能真的非常難有一個準確的書面定義,即使是我們的祖師爺John McCarthy、Geoffrey Hinton,兩位人工智能領域最重要的祖師爺,也沒有給出太多定義,我們現在只能給出人工智能研究的一些主要方向。
人工智能的主要應用領域有自然語言處理、自動駕駛、機器學習(包括深度學習)、機器感知(計算機視覺、語音識別、人臉識別、物體識別)、推薦系統、計算廣告等等眾多領域。
Google旗下的AlphaGo上演的人機對戰震驚了所有人,阿爾法狗先后戰勝了李世石、接著又戰勝了柯潔,這是人工智能技術第一次在公眾面前大顯身手。在人工智能領域,Google、百度是全球技術實力最強的兩家企業,還有微軟、阿里巴巴、騰訊、Facebook等眾多科技公司都在不斷投入。百度已經在長沙試運行無人駕駛出租車,阿里巴巴從城市大腦也已經在杭州逐漸應用,似乎時代就要來到。
從YouTube誕生開始,機器推薦就已經成為行業的一個趨勢。后來在國內誕生了快手、字節跳動,快手是“推薦引擎+視頻社區”,字節跳動旗下今日頭條和抖音,一個是綜合推薦引擎,一個是短視頻媒體平臺,本質上背后的技術都是推薦引擎的技術。機器根據用戶的喜好,給用戶推薦各自專屬的內容。今日頭條、快手、知乎、手機百度、微信公眾號、淘寶電商,幾乎每個領域都在用機器推薦,推薦引擎技術已經成了行業的標配,也是目前為止應用最廣泛、也是技術最成熟的人工智能技術。
總的來說,人工智能和Python是兩個完全不同,又息息相關的概念,目前的人工智能主要還是在算法層面的研究,而且非常多的領域都要在理論研究層面,沒有到真正大規模地應用,目前真正應用比較廣的還是推薦引擎,其他比如自然語言處理、無人駕駛、視覺識別,依然沒有擁有數億用戶的工業級應用誕生。Python語言有著諸多優點和天然優勢,讓計算機科學家、和研究者可以把更多的精力放在算法研究上,而不是去跟編程語言做糾纏,等到大規模應用的時候,會有專門工程師將這些用其他語言重寫就好。