人工智能在ios上的應用
?
?
前言
近幾年來人工智能的話題那是炙手可熱。在國內很多大佬言必談機器學習和大數據;在美國剛畢業的人工智能 PHD 也是眾人追捧,工資直逼 NFL 四分衛。人工智能甚至成為了互聯網領域茶余飯后的話題 —— 仿佛不懂人工智能就是落伍了。
筆者作為一名 iOS 開發者,對于如火如荼的人工智能和機器學習,也保持了密切的追蹤和了解。這篇文章就是總結我在硅谷和西雅圖的所見所聞,拋磚引玉的與大家分享一下我對于人工智能的思考。
人工智能是什么?
關于人工智能(AI),我們經常聽到這樣一些相關詞:大數據(Big Data),機器學習(Machine Learning),神經網絡(Neural Network)。那么這些詞到底有什么區別?我們來看下面一則小故事。
從前有個程序員叫牛頓。他定義了一個方法來計算自由落體的速度:
1
2
3 func getVelocity(time t: second) -》 Float {
return 9.8 * t
}
他是怎么得到這個方法的呢?牛頓自己被一個蘋果砸中之后,做了大量的邏輯推導和實驗論證之后,得到了這個公式。這是目前傳統意義上的寫程序方法 -- 理解清楚了事物的內在邏輯和真相后,由人來定義方法。直到今天,絕大多數程序都是這么寫出來的。
而所謂的人工智能,就是機器自己定義方法。人工智能的實現方法有很多,比如可以讓機器來模擬大腦,然后像人一樣思考,從而定義方法。機器學習只是另一種實現人工智能的方法,就是由大數據定義方法。假如牛頓時期就有機器學習,它得出自由落體速度的過程是這樣的:
收集盡可能多的自由落體實驗數據。假如收集到的數據如下
負責人速度 (m/s)時間 (s)
伽利略9.81
牛頓19.62
達芬奇29.43
亞里士多德304
分析數據。機器學習會分析出,亞里士多德的數據有誤不予采納。其他三人的數據滿足同一規律。
定義方法。根據上面數據,機器學習得出結論,速度 = 時間 * 9.8。
隨著數據收集得越多,機器學習得到的結論就越準確。其實人類學習的過程也十分類似:書上有大量的知識(加工的數據),我們看了之后進行理解思考,然后得出自己的結論。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%