国产精品久久久久久久小说,国产国产裸模裸模私拍视频,国产精品免费看久久久无码,风流少妇又紧又爽又丰满,国产精品,午夜福利

熱搜: 佳士科技  irobot  工業(yè)機器人  機器人  ABB  機器人產業(yè)聯(lián)盟  發(fā)那科  庫卡  碼垛機器人  機械手 

亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?

   日期:2017-04-07     來源:雷鋒網    作者:LLY     評論:0    
標簽:
   3月28日,地平線機器人技術公司創(chuàng)始人余凱博士、亞馬遜AWS機器學習總監(jiān)Alex Smola、亞馬遜AWS解決方案架構師鄧明軒以及地平線機器人技術公司算法副總裁黃暢,在地平線和雷鋒網聯(lián)合主辦的“大牛講堂”上做了精彩分享。其中Alex Smola做了“使用MXNet實現快速、可擴展、定制化深度學習”的主題演講,根據現場錄音和PPT做了不改變原意編譯。
  Alex Smola于1996年畢業(yè)于慕尼黑工業(yè)大學,獲物理學碩士學位,1998年在柏林工業(yè)大學取得計算機科學博士學位。之后,他在澳大利亞國立大學擔任研究院和研究小組組長。2004-2008年,Alex Smola在NICTA研究中心統(tǒng)計機器學習項目擔任項目負責人,2008-2012年在雅虎的從事研究工作,2012-2014加入谷歌從事研究工作,2013年加入卡內基·梅隆大學擔任教授,2015年,他創(chuàng)立了Marianas實驗室,2016年,Alex加入亞馬遜,目前擔任亞馬遜AWS的機器學習總監(jiān)。迄今為止,Alex共發(fā)表超過200篇論文并參與編寫多本學術專著。
 
  1. 深度學習讓一切變得更容易
 
  演講一開始,Alex就提出了一個問題,“為什么我們現在要做深度學習?”在他看來,最主要的原因有兩點:海量的數據以及計算能力的大幅提升。如今,數據已經可以很容易獲取,而計算能力的提升則是由于GPU在深度學習領域的應用。
 
  從游戲“FizzBuzz”說起
 
  接著,Alex列舉了一個例子——FizzBuzz,這是一種用來教導小學生除法的游戲:從1數到100,如果遇見了3的倍數要說Fizz,5的倍數到說Buzz,如果即是3的倍數又是5的倍數要說FizzBuzz。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  如果要通過編程方法來實現,那么需要先生成訓練數據,然后提取輸入數據的特征,然后再訓練一個分類器,讓輸入能夠映射出相應的輸出,這一切看起來似乎非常愚蠢。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  但是Alex認為,如果你有了“真正的數據”,這其實是是非常有用的。比如訓通過一臺小型攝像機來識別貓和狗,這個過程非常復雜,而且無法像以前一樣寫出代碼,但是卻有很多樣本數據可供使用,可以用來訓練estimator(判定器),然后可以基于這些數據搭建一個模型。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  而通過MXNet,你所需要做的僅僅只有定義輸入數據,調用MXNet的“fully connected layer”,最后獲得Softmax輸出。而MXNet會替你做好數據迭代、加載腳本、以及訓練循環(huán)。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  不過,當只有一層感知器(perecptron)的時候,還比較容易訓練,但是有多層感知器的的時候,訓練會變得十分困難。這將涉及到對每一層的表達,以及過程中的對象變換,而且還會用到鏈式法則(chain rule,微積分中的求導法則,用于求一個復合函數的導數),然而MXNet可以自動完成這些過程。
 
  從游戲“Where's Waldo?”說起
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  那么要怎樣做具體的圖像識別呢?這里Alex列舉了另一個很有名的游戲——“Where's Waldo?”其實, 《Where's Waldo?》是一套由英國插畫家Martin Handford創(chuàng)作的兒童書籍,這個書的目標就是讓在讀者在一張人山人海的圖片中找出一個特定的人物——“Waldo”。那么要如何讓計算機來從圖像中識別出“Waldo”呢?這里就需要用到卷積神經網絡。
 
  CNN(卷積神經網絡)
 
  什么是卷積?卷積就是兩個函數之間的相互關系,然后得出一個新的值,他是在連續(xù)空間做積分計算,然后在離散空間內求和的過程。卷積運算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征如邊緣、線條和角等層級,更多層的網絡能從低級特征中迭代提取更復雜的特征。
 
  在卷積神經網絡中,除了卷積層,還有一種叫池化(pooling)的操作。它實際上是一種形式的向下采樣,有多種不同形式的非線性池化函數,而其中“最大池化(Max pooling)”是最為常見的。它是將輸入的圖像劃分為若干個矩形區(qū)域,對每個子區(qū)域輸出最大值。池化層會不斷地減小數據的空間大小,因此參數的數量和計算量也會下降,這在一定程度上也控制了過擬合。
 
  Alex在這里列舉了兩種卷積神經網絡模型:
 
  1). LeNet
 
  Le顧名思義就是指人工智能領域的大牛Lecun。這個網絡是深度學習網絡的最初原型,因為之前的網絡都比較淺,它是較深的。
 
  雷鋒網曾對LeNet的實現過程做過詳解:
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  首先,輸入圖像是32×32的灰度圖,第一層經過了一組卷積和,生成了6個28X28的feature map,然后經過一個池化層,得到得到6個14X14的feature map,然后再經過一個卷積層,生成了16個10X10的卷積層,再經過池化層生成16個5×5的feature map。
 
  從最后16個5X5的feature map開始,經過了3個全連接層,達到最后的輸出,輸出就是標簽空間的輸出。由于設計的是只要對0到9進行識別,所以輸出空間是10,如果要對10個數字再加上26個大小字母進行識別的話,輸出空間就是62。62維向量里,如果某一個維度上的值最大,它對應的那個字母和數字就是就是預測結果。
 
  2). Inception
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  谷歌的Inception v1的網絡將1x1、3x3、5x5的卷積和3x3的最大池化堆疊在一起,并在3x3、5x5的卷積前以及3x3最大池化后分別加上了1x1的卷積核,起到了降低特征圖厚度的作用,上圖就是Inception v1的網絡結構。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  Alex稱,要通過Caffe來實現這一結構需要幾千行代碼,然而要如何簡化這一過程呢?這也就引出了一個問題:為什么我們需要另一個深度學習工具?
 
  2. 為什么需要另一個深度學習工具?
 
  目前市面上已經有了TensorFlow、Caffe、Torch、Keras、CNTK、PaddlePaddle、Theano等等,那么我們?yōu)槭裁催€需要MXNet呢?
 
  Alex介紹道,MXNet主要有3方面的優(yōu)勢:
 
  效率:節(jié)省計算資源,資源利用效率高;
 
  速度:可以隨著機器和GPU的擴展呈線性增長,而且在單臺機器上也有很高的效率;
 
  簡單易用:同時支持命令式編程(imperative programming)和聲明式編程(declarative programming)。
 
  根據維基百科的解釋:
 
  命令式編程是一種描述電腦所需作出的行為的編程范型,較高級的指令式編程語言使用變量和更復雜的語句,但仍依從相同的范型。因為命令式編程的基礎觀念,不但概念上比較熟悉,而且較容易具體表現于硬件,所以大部分的編程語言都是指令式的。
 
  聲明式編程與命令式編程相對立。它描述目標的性質,讓電腦明白目標,而非流程。聲明式編程是告訴計算機需要計算“什么”而不是“如何”去計算,而命令式編程則需要用算法來明確的指出每一步該怎么做。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  比如,如果深度架構的計算圖譜需要深度優(yōu)化,則比較適合聲明式編程;而涉及到更新以及圖譜交互時,比如迭代循環(huán)、參數更新、定向搜索、特征提取等,這時命令式編程則更為合適。
 
  Alex認為,提高用戶的工作效率最為關鍵。
 
  由于每個用戶偏好的編程語言以及深度學習的框架可能各不相同,因此MXNet努力擴展自己的兼容性。根據Alex的PPT,目前MXNet已經能夠調用Torch,并可以無縫兼容Caffe Layer,而且將很快兼容Keras。
 
  雖然MXNet同時支持命令式編程和聲明式編程,但是并沒有將兩者融匯貫通。有開發(fā)者基于MXNet,開發(fā)了MinPy,提供numpy接口,用來解決這個問題。在使用MinPy時,只需要簡單改寫一句import語句:import minpy.numpy as np,就能夠開始使用MinPy了。由于是完全的命令式編程的接口,編程的靈活性被大大提高。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  Alex列舉了一個例子(如上圖所示),在TensorFlow中,如果需要打印某個變量,需要在打印語句前加上 “control_dependencies”。而在MinPy中,可以直接使用Python的原生“print”語句。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  此外,由于GPU采用的是高度并行的運行方式,這也是為何GPU比CPU更加適合深度學習的原因。然而想要寫出并行的程序則是一件非常痛苦的事情,但是MXNet則可以自動執(zhí)行這一過程:你只需要編寫串行程序,MXNet就可以自動實現并行運行。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  當然,Alex也將MXNet與目前最流行的谷歌TensorFlow進行了對比。根據Alex的介紹,在分布式訓練的實驗中,如果用10臺以上的機器,MXNet處理圖像樣本的速度要比TensorFlow快2倍。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  不過,Alex也提醒道,要想在分布式訓練的過程中快速達到收斂,Batch Size的選擇也很重要,并不是越大越好。
 
  3. AWS為深度學習提供的各種云服務
 
  作為全球第一大云服務提供商,亞馬遜也為深度學習提供各種云服務,Alex主要介紹了Amazon Machine Images(簡稱AMI)以及 CloudFormation Template。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  從字面上就可以看出,AMI主打圖像識別,它可以節(jié)省數據科學家和開發(fā)者設置深度學習系統(tǒng)的時間。除了支持亞馬遜自己的MXNet框架外,AMI還支持TensorFlow、Caffe、Torch、Theano、Keras,用戶可以使用Anaconda、Jupyter、Python 2、Python 3。
 
  亞馬遜機器學習總監(jiān)Alex Smola:TensorFlow、Caffe等已經存在,為何還需要MXNet?
 
  Alex表示,如果你要為深度學習搭建一個計算機集群(一種計算機系統(tǒng),它通過一組松散集成的計算機軟件和/或硬件連接起來高度緊密地協(xié)作完成計算工作),亞馬遜則提供AWS CloudFormation Template。
 
  雖然MXNet有很多優(yōu)勢,并于去年11月被亞馬遜選為官方深度學習框架,又在今年2月加入Apache孵化器,利用Apache軟件基金會的流程、管理、外展和社區(qū)活動,但是目前最流行的仍然是谷歌的TensorFlow等常用框架。由于被谷歌搶占先機,未來MXNet想要快速發(fā)展,必須爭取更多開發(fā)者的支持。
 
 
更多>相關資訊
0相關評論

推薦圖文
推薦資訊
點擊排行