👉 公司希望資料科學人才具備什麼樣的能力?並且期待你能替公司解決什麼樣的問題?
👉 在面試的時候,主管們除了想看你會不會TensorFlow、Pytorch技術之外,還會想要希望資料科學人才要有怎樣的軟實力呢?
👉 資料科學人才在面試的時候常常遇到什麼資料科學專業問題呢?
一切答案皆在〈 AI資料科學家學程期中大聚 〉!
♦ 在線上學習的環境中,永遠需要多一點溫度
自從開辦了AI資料科學家學程後,我們期許自己能讓大家用最短的時間,達到最好的學習效益,不敢說變成資料科學領域高手,但至少能讓大家學會一技之長!
但在全線上的培訓模式下,學員跟老師間的互動僅於討論區或直播實作課中,在情感的交流上較少。
於是〈 AI資料科學家學程期中大聚 〉就此誕生~!
透過期中大聚,我們邀請老師們與學員們一同上線直播交流,不談技術與解題,著重分享「如何進行有效線上學習」、「資料科學人才面試常見問題」、「國外影像辨識案例」為主,並且頒發卓越學習獎給學習表現優秀的學員們,邀請學員們在這場交流聚會分享自己的學習心路歷程。
♦ 教學相長,聽聽得獎學員怎麼說
🏆 卓越學習獎-陳佳菁 學員感言:
「對於線上課程的講解非常清楚,學習上遇到問題老師與助教都蠻快可以進行解答!蠻享受這樣學習的旅程!」
🏆 卓越學習獎-陽明益 學員感言:
「學習的步調緊湊,也可以有比較具體的案例應用練習!」
期許大家在最糟的情境下,可以讓大家學會AI技術
在對的時機點,把自己的能量展現出來!
TibaMe!Just do it!
「tensorflow pytorch比較」的推薦目錄:
- 關於tensorflow pytorch比較 在 緯育TibaMe Facebook 的最佳解答
- 關於tensorflow pytorch比較 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳解答
- 關於tensorflow pytorch比較 在 李開復 Kai-Fu Lee Facebook 的最佳解答
- 關於tensorflow pytorch比較 在 TensorFlow 還是PyTorch?我適合使用哪個深度學習框架? #補 ... 的評價
- 關於tensorflow pytorch比較 在 pytorch tensorflow比較的推薦與評價,FACEBOOK - 居家網紅 ... 的評價
- 關於tensorflow pytorch比較 在 深度學習框架: Pytorch與Tensorflow 的評價
- 關於tensorflow pytorch比較 在 [問卦] Pytorch跟TensorFlow學哪個比較好 - PTT八卦政治 的評價
- 關於tensorflow pytorch比較 在 [利用PyTorch建構MNIST 數字分類器] 最近小編在PTT... 的評價
- 關於tensorflow pytorch比較 在 [利用PyTorch建構MNIST 數字分類器] 最近小編在PTT... 的評價
- 關於tensorflow pytorch比較 在 tensorflow或pytorch - 研究所板 | Dcard 的評價
- 關於tensorflow pytorch比較 在 [問卦] Pytorch跟TensorFlow學哪個比較好- Gossiping 的評價
- 關於tensorflow pytorch比較 在 Github1.3萬星,迅猛發展的JAX對比TensorFlow、PyTorch 的評價
- 關於tensorflow pytorch比較 在 深度學習戰爭:Facebook 支持的PyTorch 與Google ... - 知識星球 的評價
- 關於tensorflow pytorch比較 在 挑戰TensorFlow 霸主地位!Facebook聯手微軟整合三大AI ... 的評價
tensorflow pytorch比較 在 台灣物聯網實驗室 IOT Labs Facebook 的最佳解答
迎接終端AI新時代:讓運算更靠近資料所在
作者 : Andrew Brown,Strategy Analytics
2021-03-03
資料/數據(data)成長的速度越來越快。據估計,人類目前每秒產出1.7Mb的資料。智慧與個人裝置如智慧型手機、平板電腦與穿戴式裝置不但快速成長,現在我們也真正目睹物聯網(IoT)的成長,未來連網的裝置數量將遠遠超越地球的人口。
這包括種類繁多的不同裝置,像是智慧感測器與致動器,它們可以監控從震動、語音到視覺等所有的東西,以及幾乎大家可以想像到的所有東西。這些裝置無所不在,從工廠所在位置到監控攝影機、智慧手錶、智慧家庭以及自主性越來越高的車輛。隨著我們企圖測量生活週遭數位世界中更多的事物,它們的數量將持續爆炸性成長。
資料爆量成長,讓許多企業把資料從內部部署運作移到雲端。儘管集中到雲端運算的性質,在成本與資源效率、彈性與便利性有它的優點,但也有一些缺點。由於運算與儲存在遠端進行,來自終端、也就是那些在網路最邊緣裝置的資料,需要從起始點經過網際網路或其他網路,來到集中式的資料中心(例如雲端),然後在這裡處理與儲存,最後再傳回給用戶。
對於一些傳統的應用,這種方式雖然還可以接受,但越來越多的使用場景就是無法承受終端與雲端之間,資訊被接力傳遞產生的延遲。我們必須即時做出決策,網路延遲要越小越好。基於這些原因,開始有人轉向終端運算;越來越多人轉而使用智慧終端,而去中心化的程度也越來越高。此外,在這些即時應用中產生的龐大資料量,意味著處理與智慧必須在本地以分散的方式進行。
與資料成長連袂而來的,是人工智慧與機器學習(ML)也朝終端移動,並且越來越朝終端本身移動。大量來自真實世界的資訊,需要用ML的方式來進行詮釋與採取行動。透過AI與ML,是以最小的延遲分析影像、動作、影片或數量龐大的資料,唯一可行且合乎成本效益的方式。運用AI與ML的演算法與應用將在邊緣運作,在未來還將會直接在終端裝置上進行。
資料正在帶動從集中化到分散化的轉變
隨著資訊科技市場逐漸發展與成熟,網路的設計以及在其運作的所有裝置,也都跟著進化。全盛時期從服務數千個小型客戶端的主機,一直到客戶端伺服器模型中使用的越來越本地化的個人電腦運算效能,基礎架構持續重組與最佳化,以便更貼近網路上的裝置以及符合運作應用的需求。這些需求包含檔案存取與資料儲存,以及資料處理的需求。
智慧型手機與其他行動裝置的爆炸性成長,加上物聯網的快速成長,促使我們需要為如何讓資產進行最佳的部署與安排進行評估。而影響這個評估的因素,包括網路的可用性、安全性、裝置的運算力,以及把資料從終端傳送到儲存設備的相關費用,近來也已轉向使用分散式的運算模型。
從邊緣到終端:AI與ML改變終端典範
在成本、資源效率、彈性與便利性等方面,雲端有它的優點,裝置數量的急遽增加(如圖2),將導致資料產出量大幅增加。這些資料大部份都相當複雜且非結構化的,這也是為何企業只會分析1%~12% 的資料的原因之一。把大量非結構化的資料送到雲端的費用相當高、容易形成瓶頸,而且從能源、頻寬與運算力角度來看,相當沒有效率。
在終端執行進階處理與分析的能力,可協助為關鍵應用降低延遲、減少對雲端的依賴,並且更好地管理物聯網產出的巨量資料。
終端AI:感測、推論與行動
在終端部署更多智慧的主要原因之一,是為了創造更大的敏捷性。終端裝置處於網路的最邊緣與資料產生的地方,可以更快與更準確地做出回應,同時免除不必要的資料傳輸、延遲與資料移動中的安全風險,可以節省費用。
處理能力與神經網路的重大進展,正協助帶動終端裝置的新能力,另一股驅動力則是對即時資訊、效率(傳送較少的資訊到雲端)、自動化與在多數情況下,對近乎即時回應的需求。這是一個三道步驟的程序:傳送資料、資料推論(例如依據機器學習辨識影像、聲音或動作),以及採取行動(如物件是披薩,冰箱的壓縮機發出正常範圍外的聲音,因此發出警告)。
感測
處理器、微控制器與感測器產生的資料量相當龐大。例如,自駕車每小時要搜集25GB的資料。智慧家庭裝置、智慧牙刷、健身追蹤器或智慧手錶持續進化,並且與以往相比,會搜集更多的資料。
它們搜集到的資料極具價值,但每次都從各個終端節點把資料推回給雲端,數量又會過多。因此必須在終端進行處理。倘若部份的作業負載能在終端本身進行,就可以大幅提升效率。
推論
終端搜集到的資料是非結構性的。當機器學習從資料擷取到關聯性時,就是在進行推論。這表示使用AI與ML工具來幫忙訓練裝置辨識物件。拜神經網路的進展之賜,機器學習工具越來越能訓練物件以高度的精準度辨識影像、聲音與動作,這對體積越來越小的裝置,極為關鍵。
例如,圖4顯示使用像ONNX、PyTorch、Caffe2、Arm NN或 Tensorflow Lite 等神經網路工具,訓練高效能的意法半導體(ST)微控制器(MCU),以轉換成最佳化的程式碼,讓MCU進行物件辨識(這個的情況辨識對象是影像、聲音或動作)。更高效能的MCU越來越常利用這些ML工具來辨識動作、音訊或影像,而且準確度相當高,而我們接下來馬上就要對此進行檢視。這些動作越來越頻繁地從邊緣,轉移到在終端運作的MCU本身。
行動
資料一旦完成感測與推論後,結果就是行動。這有可能是回饋簡單的回應(裝置是開啟或關閉),或針對應用情況進行最佳化(戴耳機的人正在移動中,因此會針對穩定度而非音質進行最佳化),或是回饋迴路(根據裝置訓練取得的機器學習,輸送帶若發出聲音,顯示它可能歪掉了)。物聯網裝置將會變得更複雜且更具智慧,因為這些能力提升後,運算力也會因此增加。在我們使用新的機器學習工具後,一些之前在雲端或終端完成的關鍵功能,將可以移到終端本身的內部進行。
終端 AI:千里之行始於足下
從智慧型手機到車輛,今日所有電子裝置的核心都是許多的處理器、微控制器與感測器。它們執行各種任務,從最簡單到最複雜,並需要各式各樣的能力。例如,應用處理器是高階處理器,它們是為行動運算、智慧型手機與伺服器設計;即時處理器是為例如硬碟控制、汽車動力傳動系統,與無線通訊的基頻控制使用的非常高效能的處理器,至於微控制器處理器的矽晶圓面積則小了許多,能源效率也高出很多,同時擁有特定的功能。
這意味著利用ML工具訓練如MCU等較不複雜元件來執行的動作,之前必須透過威力更強大的元件才能完成,但現在邊緣與雲端則是理想的場所。這將讓較小型的裝置以更低的延遲執行更多種類的功能,例如智慧手錶、健康追蹤器或健康照護監控等穿戴式裝置。
隨著更多功能在較小型的終端進行,這將可以省下資源,包括資料傳輸費用與能源費用,同時也會產生極大的環境衝擊,特別是考量到全球目前已有超過200億台連網裝置,以及超過2,500億顆MCU(根據Strategy Analytics統計數據)。
TinyML、MCU與人工智慧
根據Google的TesnsorFlow 技術主管、同時也是深度學習與TinyML領域的指標人物 Pete Warden 表示:「令人相當興奮的是,我還不知道我們將如何使用這些全新的裝置,特別是它們後面代表的科技是如此的吸引人,我無法想像那些即將出現的全新應用。」
微型機器學習(TinyML)的崛起,已經催化嵌入式系統與機器學習結合,而兩者傳統上大多是獨立運作的。TinyML 捨棄在雲端上運作複雜的機器學習模型,過程包含在終端裝置內與微控制器上運作經過最佳化的模式識別模型,耗電量只有數毫瓦。
物聯網環境中有數十億個微型裝置,可以為各個產業提供更多的洞察與效率,包括消費、醫療、汽車與工業。TinyML 獲得 Arm、Google、Qualcomm、Arduino等業者的支持,可望改變我們處理物聯網資料的方式。
受惠於TinyML,微控制器搭配AI已經開始增添各種傳統上威力更強大的元件才能執行的功能。這些功能包括語音辨識(例如自然語言處理)、影像處理(例如物件辨識與識別),以及動作(例如震動、溫度波動等)。啟用這些功能後,準確度與安全性更高,但電池的續航力卻不會打折扣,同時也考量到各種更微妙的應用。
儘管之前提到的雲端神經網路框架工具,是取用這個公用程式最常用的方法,但把AI函式庫整合進MCU,然後把本地的AI訓練與分析能力插入程式碼中也是可行的。這讓開發人員依據從感測器、麥克風與其他終端嵌入式裝置取得的訊號導出資料模式,然後從中建立模型,例如預測性維護能力。
如Arm Cortex-M55處理器與Ethos U55微神經處理器(microNPU),利用CMSIS-DSP與CMSIS-NN等常見API來簡化程式碼的轉移性,讓MCU與共同處理器緊密耦合以加速AI功能。透過推論工具在低成本的MCU上實現AI功能並符合嵌入式設計需求極為重要,原因是具有AI功能的MCU有機會在各種物聯網應用中轉變裝置的設計。
AI在較小型、低耗電與記憶體受限的裝置中可以協助的關鍵功能,我們可以把其精華歸納至我們簡稱為「3V」的三大領域:語音(Voice,如自然語言處理)、視覺(Vision,如影像處理)以及震動(Vibration,如處理來自多種感測器的資料,包括從加速計到溫度感測器,或是來自馬達的電氣訊號)。
終端智慧對「3V」至關重要
多數的物聯網應用聚焦在一些特定的領域:基本控制(開/關)、測量(狀態、溫度、流量、噪音與震動、濕度等)、資產的狀況(所在地點以及狀況如何?),以及安全性功能、自動化、預測性維護以及遠端遙控(詳見圖 6)。
Strategy Analytics的研究顯示,許多已經完成部署或將要部署的物聯網B2B應用,仍然只需要相對簡單的指令,如基本的開/關,以及對設備與環境狀態的監控。在消費性物聯網領域中,智慧音箱的語音控制AI已經出現爆炸性成長,成為智慧家庭指令的中樞,包括智慧插座、智慧照明、智慧攝影機、智慧門鈴,以及智慧恆溫器等。消費性裝置如藍牙耳機現在已經具備情境感知功能,可以依據地點與環境,在音質優先與穩定度優先之間自動切換。
如同我們檢視的結果,終端AI可以在「3V」核心領域提供價值,而它觸及的許多物聯網領域,遍及B2B與B2C的應用:
震動:包含來自多種感測器資料的處理,從加速計感測器到溫度感測器,或來自馬達的電氣訊號。
視覺:影像與影片辨識;分析與識別靜止影像或影片內物件的能力。
語音:包括自然語言處理(NLP)、瞭解人類口中說出與寫出的語言的能力,以及使用人類語言與人類交談的能力-自然語言產生(NLG)。
垂直市場中有多種可以實作AI技術的使用場景:
震動
可以用來把智慧帶進MCU中的終端AI的進展,有各式各樣的不同應用領域,對於成本與物聯網裝置與應用的效用,都會帶來衝擊。這包括我們在圖6中點出的數個關鍵物聯網應用領域,包括:
溫度監控;
壓力監控;
溼度監控;
物理動作,包括滑倒與跌倒偵測;
物質檢測(漏水、瓦斯漏氣等) ;
磁通量(如鄰近感測器與流量監控) ;
感測器融合(見圖7);
電場變化。
一如我們將在使用場景單元中檢視的,這些能力有許多可以應用在各種被普遍部署的物聯網應用中。
語音
語音是進化的產物,也是人類溝通非常有效率的方式。因此我們常常想要用語音來對機器下指令,也不令人意外;聲音檢測是持續成長的類別。語音啟動在智慧家庭應用中很常見,例如智慧音箱,而它也逐漸成為啟動智慧家庭裝置與智慧家電的語音中樞,如電視、遊戲主機與其他新的電器。
在工業環境中,供車床、銑床與磨床等電腦數值控制(CNC)機器使用的電腦語音引擎正方興未艾。iTSpeex的ATHENA4是第一批專為這些產品設計的語音啟動作業系統。這些產品往往因為安全原因,有離線語音處理的需求,因此終端 AI 語音發展在這裡也創造出有趣的機會。用戶可以指示機器執行特定的運作,並從機器手冊與工廠文件,立即取用資訊。
語音整合在車輛中也相當關鍵。OEM 代工廠商持續對車載娛樂系統中的語音辨識系統,進行大量投資。語音有潛力成為最安全的輸入模式,因為它可以讓駕駛的眼睛持續盯著道路,而雙手仍持續握著方向盤。
對於使用觸控螢幕或硬體控制器通常需要多道步驟的複雜任務,語音辨識系統特別能勝任。這些任務包括輸入文字簡訊、輸入目的地、播放特定歌曲或歌曲子集,以及選擇廣播電台頻道。其他的服務包含如拋錨服務(或bCall)與禮賓服務。
視覺
正如我們之前已經檢視過,終端 AI 提供視覺領域全新的機會,特別是與物件檢測及辨識相關。這可能包括觀察生產線的製造瑕疵,以及找出自動販賣機需要補貨的庫存。其他實例包括農業應用,例如依據大小與品質為農產品分級。
曳引機裝上機器視覺攝影機後,我們幾乎可以即時檢測出雜草。雜草冒出後,AI可以分類雜草並估算它對農產收穫的潛在威脅。這讓農民可以鎖定特定的雜草,並打造客製的除草解決方案。機器視覺然後可以檢測除草劑的效用,並找出農地中仍具抗藥性的殘餘雜草。
使用場景
預測性維護工具已經從擷取與比較震動的量測資料,進化到提出即時的資產監控。藉由連接物聯網感測器裝置與維護軟體,我們也可能做到遠端監控。
震動分析
這種類型的預測性維護在旋轉型機器密集的製造工廠裡,相當常見。震動分析可以揭露鬆脫、不平衡、錯位與軸承磨損等狀況。例如,把震動計量器接上靠近選煤廠離心泵浦內部承軸處,就可以讓工程師建立起正常震動範圍的基線。超出這個範圍的震動,可能顯示滾珠軸承出現鬆動,需要更換。
磁感測器融合
磁感測器利用磁性浮筒與一系列可以感應並與液體表面一起移動的感測器,測量液面的高低。所有的這些應用都使用一個固定面上的磁感測器,它與附近平面的磁鐵一起作動,與這個磁鐵相對應的感測器也會移動。
聲學分析(聲音)
與震動分析相似,聲測方位分析也是供潤滑技師使用,主要是專注在主動採取潤滑措施。這意味我們可以避免移動設備時產生的過度磨損,否則會為了修理造成代價高昂的停機。實際的例子可能包括測量輸送皮帶的承軸狀況。出現過度磨損時,承軸會因為潤滑不足或錯位出現故障,可能造成整個生產流程的中斷。
聲學分析(超音波)
聲音聲學分析雖然可以用來進行主動與預測性維護,超音波聲學分析卻只能用於預測性維護。它可以在超音波範圍內找出與機器摩擦及壓力相關的聲音,並使用在會發出較細微聲音的電氣設備與機器設備。我們可以說這一類型的分析與震動或油量分析相比,更可以預測即將出現的故障。目前它部署起來比其他種類的預防性維護花費較高,但終端 AI 的進展可以促成這種細微層級的聲學檢測,大幅降低部署的費用。
熱顯影
熱顯影利用紅外線影像來監控互動機器零件的溫度,讓任何異常情況很快變得顯而易見。具備終端 AI 能力的裝置,可以長期檢測微細的變化。與其他對事故敏感的監視器一樣,它們會觸發排程系統,自動採取適當的行動來預防零件故障。
消費者與智慧家庭
將語音運用在消費者與智慧家庭,是最常看到的場景之一。這包括智慧型手機與平板電腦上、未包含電話整合功能的裝置,例如螢幕尺寸有限的穿戴式裝置。這類型的裝置包含智慧手錶與健康穿戴式裝置,可以為各種功能提供免動手的語音啟動。像 Amazon 的 Echo 或 Google 的 Home 等智慧音箱市場的成長,說明消費者對於可接收與提供語音互動等現有裝置的強勁需求,與日俱增。
消費者基於各種理由使用智慧音箱,最常見的使用場景為:
聽音樂;
控制如照明等智慧家庭裝置;
取得新聞與天氣預報的更新;
建立購物與待辦事項清單。
除了像智慧音箱與智慧電視等消費裝置,智慧家庭裝置語音的使用,也顯現相當的潛力。諸如連網門鈴(如 ring.com)等裝置與連網的煙霧偵測器(例如 Nest Protect 煙霧與一氧化碳警報)目前都已上市可供消費者選購,它們結合了語音與視覺的感測器融合功能以及運動檢測。有了連網的煙霧偵測器,裝置在偵測到煙霧或一氧化碳時,可以發出語音警告。
終端 AI 為強化這些能力提供了全新機會,而且常常結合震動(動作)、視覺與語音控制。例如,增加姿態辨識來控制例如電視等家電,或是把語音控制嵌入白色家電,即是以最低成本強化功能性最直接的方式。
健康照護
用來發現醫護資訊的 AI 驅動終端裝置的應用,將為病況的治療與診斷,提供更多的價值。這種資訊可能是資料,也可能是影像、影片以及說出的話,我們可以透過 AI 進行型態與診斷分析。這些資料將引發全新、更有效的治療方法,為整個產業節省成本。受惠於終端 AI 的進展,像 Google Duplex 等語音系統的複雜性將會降低。例如門診預約等勞力密集的工作,也可以轉換成 AI 活動。利用自然語言語音來延伸 AI 的使用,也可以把 AI 用在第一線的病人診斷,然後再由醫師接手提供諮詢。
其他健康照護實例包括像 Wewalk5 等物件,這是一個供半盲與全盲人員使用的智慧拐杖。它使用感測器來檢測胸口水平以上的物件,並搭配 Google Maps 與 Amazon Alexa 等 app,方便使用者提出問題。
結論
由於連網的終端裝置數量越來越多,這個世界也越來越複雜。連接到網際網路的裝置已經超過 300 億個,而微控制器的數量也超過 2,500 億,每年還會增加約 300 億個。越來越多的程序開始進行自動化,不過,把大量資料傳送到雲端涉及的延遲以及邊緣運算的額外費用,意味著許多全新、令人興奮且引人矚目的物聯網使用場景,可能無法開花結果。
解決這些挑戰的答案,並不是為雲端資料中心持續增添運算力。降低出現在邊緣的延遲雖然會有幫助,但不會解決日益分散的世界的所有挑戰。我們需要把智能應用到基礎架構中。
儘管為終端裝置增添先進的運算能力在十年前仍不可行,TinyML 技術近來的提升,已經讓位處相當邊緣的裝置 (也就是終端本身)增添智能的機會大大改觀。在終端增加運算與人工智慧能力,可以讓我們在源頭搜集到更多更具關聯性與相關的資訊。隨著裝置與資料的數量持續攀升,在源頭掌握情境化與具關聯性的資料,具有極大的價值,並將開啟全新的使用場景與營收機會。
終端裝置的機器學習,可以促成全新的終端 AI 世界。新的應用場景正在崛起,甚至跳過傳送大量資料的需求,因而紓解資料傳輸的瓶頸與延遲,並在各種作業環境中創造全新機會。終端 AI 將為我們開啟一個充滿全新機會與應用場景的世界,其中還有很多我們現在想像不到的機會。
附圖:圖1:從集中式到分散式運算的轉變。
(資料來源:《The End of Cloud Computing》,by Peter Levine,Andreessen Horowitz)
圖2:全球上網裝置安裝量。
(資料來源:Strategy Analytics)
圖3:深度學習流程。
圖4:MCU的視覺、震動與語音。
(資料來源:意法半導體)
圖5:AI 工具集執行模型轉換,以便在MCU上執行經最佳化的神經網路推論。
(資料來源:意法半導體)
圖6:物聯網企業對企業應用的使用-目前與未來。
(資料來源:Strategy Analytics)
圖7:促成情境感知的感測器融合。
(資料來源:恩智浦半導體)
資料來源:https://www.eettaiwan.com/20210303nt31-the-dawn-of-endpoint-ai-bringing-compute-closer-to-data/?fbclid=IwAR0JTRpNsJUl-DmSNpfIcymGQpkQaUgXixEaczwDpELxGCaCeJpkTyoqUtI
tensorflow pytorch比較 在 李開復 Kai-Fu Lee Facebook 的最佳解答
分享好文,中學生要學電腦嗎?
作者:創新工場CTO、人工智慧工程院執行院長 王詠剛
文章来自半轻人微信公众号(ban-qing-ren)
………………………………
朋友的孩子高中剛畢業,已拿到美國頂尖大學(非電腦專業)的錄取通知。疫情影響,不知何時才能去學校報到。孩子想抓緊學習一下程式設計,為大學打好基礎。這孩子找我聊了一個多小時,從如何學程式設計,聊到非電腦專業和電腦專業的路徑差異,又聊到如何從不同角度認識電腦與程式設計。聊得比較寬泛,不知是否對這孩子有用。
回想我自己的高中時代:那時雖迷戀程式設計,卻完全沒有懂行的人指導。在我們那個四線城市的廠礦中學裡,開設電腦興趣課的老師知道的資訊還沒我多。我高一時跑到北京中關村逛街,卻完全沒意識到中國第一代頂尖程式師當時就在我身邊的低矮辦公樓裡寫代碼(這話說得並不準確,比如求伯君那年就主要是在珠海做開發),鼎鼎大名的UCDOS、WPS、CCED就出自他們之手……我在當時街邊的一家書店(位置似乎就在今天的鼎好大廈對面)買到了許多種印刷品質極低劣的電腦圖書。用今天的標準看,那就是一批盜版影印或未授權翻譯的國外圖書。可那批書竟成了我高中時代最寶貴的程式設計知識來源。
顯然,我在高中時根本就是野路子學電腦。現在後悔也沒用,當時我的眼界或能觸及的資源就那麼多。如果能穿越回30年前,我該對喜歡程式設計的自己說些什麼呢?這些年,我與世界上最好的一批程式師合作過,也參與過世界上最有價值的軟體系統研發——我所積累的一些粗淺經驗裡,有哪些可以分享給一個愛程式設計的中學生?
【問題1】中學生要不要學電腦?
當然要!
每個中學生都要學。只不過——建議大部分中學生使用“休閒模式”,小部分(不超過10%)中學生使用“探險模式”。
啊?兩個模式?那我該進入哪個模式?⟹請跳轉至【問題2】
【問題2】選哪個模式?
你癡迷電腦嗎?比如,你玩遊戲時會特別想知道這遊戲背後的代碼是如何編寫的嗎?再比如,就算老師家長不同意你學電腦,甚至當著你的面把電腦砸了,你也要堅持學電腦嗎?如果是,恭喜你進入“探險模式”⟹請跳轉至【問題200】
你對數學有興趣嗎?比如,你看到街邊建築的曲線,就會在腦子裡琢磨曲線對應的函數或方程嗎?每當手裡攥著幾粒骰子,你就會不由自主地計算概率嗎?如果是,歡迎進入“探險模式”⟹請跳轉至【問題200】;當然,如果有些猶豫,也可以先進入“休閒模式”⟹請跳轉至【問題100】
即便你對電腦和數學興趣不大,家長、老師還是強烈建議你學電腦嗎?就算你一百個沒時間一千個不願意,家長、老師還是會逼著你學電腦嗎?如果是,建議你主動進入“休閒模式”並向家長、老師彙報說“我已經按照前谷歌資深軟體工程師的專業建議在認真學程式設計了”⟹請跳轉至【問題100】
其他情況,一律進入“休閒模式”。⟹請跳轉至【問題100】
【問題100】休閒模式 | 主要學什麼?
“休閒模式”將電腦視為我們生活、工作中的必備工具,主要學習如何聰明、高效、優雅地使用計算設備。這裡說的計算設備,包括所有形式的電腦、手機、遊戲機、智慧家電以及未來一定會進入生活的自動駕駛汽車。
什麼什麼?你已經會用電腦、會玩手機、會打遊戲了?別著急,慢慢往下看。
【問題101】休閒模式 | 我會用搜尋引擎嗎?
我知道你會用百度搜習題答案。但,習題答案不是知識。你會用搜尋引擎來搜索和梳理知識嗎?請試著用電腦和你喜歡的搜尋引擎來解決如下兩個問題:
(1)圓周率𝜋的計算方法有多少種?每種不同的計算方法分別是由什麼人在什麼時代提出的?借助電腦,今天人們可以將圓周率𝜋計算到小數點後多少位?將圓周率𝜋計算到小數點這麼多位元,一次大概需要花掉多少度電?
(2)全球大約有多少個廁所?在發展程度不同的國家,分別有多少比例的人可以享用安裝了抽水馬桶的衛生廁所?為什麼比爾·蓋茨曾大力推動一個設計新型馬桶的研發專案?比爾·蓋茨的公益組織在這個專案上大約花費了多少資金,最終收到了多大的效果?
如果你沒法快速得到上述問題的全部答案,那就給自己設一個小目標:一個月內,學會用搜尋引擎系統地獲取、梳理一組知識點的全部技巧。
【問題102】休閒模式 | 接下來學什麼?
建議學好典型的工具軟體。比如,我知道你會用Office了,但用Office和用Office是很不一樣的。對生活、學習、工作來說,學好、學透一個工具軟體比鑽研程式設計技巧更實用。
你會用Excel來管理班級公益基金的預算和實際收支情況嗎?
你會用Excel做出過去20年裡全球大學排名的演變趨勢圖嗎?
你會用Word排版一篇中學生論文嗎?論文中的圖表和最後的參考文獻部分該如何排版?
你會用Word編排一份班級刊物,包含封面、扉頁、目錄、插圖頁、附錄、封底等部分,可以在列印後直接裝訂成冊嗎?
PowerPoint呢?你有沒有研究過蘋果公司發佈會上那些幻燈片的設計?當約伯斯(多年以前)或蒂姆·庫克站在幻燈片前的時候,他們的演講思路是如何與幻燈片完美結合的?
還有哦,別忘了學學如何為數碼照片做後期,如何用電腦或手機剪視頻,如何為剪輯好的視頻配字幕,如何將照片、音樂、視頻等素材結合起來,做出一段吸引人的快手/抖音短視頻。
最後,抽空玩玩那些設計精妙的遊戲吧,比如《紀念碑穀》、《塞爾達傳說:曠野之息》之類;同時,遠離那些滿屏廣告,或者一心騙你在遊戲裡充值花錢的垃圾。
【問題103】休閒模式 | 不學學知識嗎?
當然要學知識。下面每種實用的電腦知識都夠大家學一陣子了。
(1)色彩知識:你知道同一張數碼照片在不同品牌的手機螢幕上、不同的電腦螢幕上、不同的智慧電視上顯示時,為什麼經常有較大色差嗎?你知道有一些色彩只適合螢幕顯示,不適合列印輸出嗎?你知道軟體工具裡常用的RGB、HSL之類的色彩空間都是什麼意思嗎?如何在設計PowerPoint幻燈片時選擇一組和諧美觀的色彩?
(2)字體知識:你知道什麼是襯線字體,什麼是無襯線字體嗎?你知道網頁中常用的英文字體都有哪些嗎?你知道商務演講時最適用于幻燈片的英文字體有哪些嗎?你知道電腦和手機常用的黑體、宋體、仿宋體、楷體等中文字體分別適合哪些實際應用場合嗎?你會將不同字體混排成一個美觀的頁面嗎?
(3)網路知識:你知道5G是什麼嗎?你知道5G和4G在通信頻寬、通信距離上的具體區別嗎?你知道什麼是路由器,什麼是防火牆嗎?你知道如何配置路由器,如何配置防火牆嗎?微信或QQ聊天時,對方發的文字、語音或視頻是如何傳送到你的手機上的?
(4)應用知識:淘寶中搜索得到的商品資訊是從哪裡來的?商品是按什麼方式排序的?為什麼購物APP經常會推薦給你一些曾經買過、看過的商品?你知道如何為自己建立個人網站嗎?你知道如何管理微信公眾號嗎?
(5)安全知識:你知道網路上的釣魚攻擊是怎麼回事兒嗎?你知道什麼是電腦漏洞嗎?你知道駭客為什麼想把一大批受攻擊的電腦變成可以遠端操控的傀儡機嗎?你知道為什麼現在很多手機APP都要通過短信發送驗證碼嗎?如果驗證碼被壞人截獲,你會面臨哪些風險?
這裡只是舉例。實用的電腦知識還有很多。大家可以自己發掘。
【問題104】休閒模式 | 我需要學程式設計嗎?
可以學,但不是必須。即便學,也只需要根據自己的需要,學那些最能幫你解決現實問題的部分。
【問題105】休閒模式 | 我該學什麼程式設計語言?
在“休閒模式”裡,電腦就是工具,程式設計也是工具,夠用就好。學什麼程式設計語言,完全看你想要電腦幫你做什麼。
• 如果你想對資料處理有更多自主權,那不妨學學Python;
• 如果你想做簡單的交互演示程式,那就先把JavaScript學起來;
• 如果你想更好、更快地寫論文,那不妨學學LaTeX(什麼什麼,LaTeX不是程式設計語言?你太小看LaTeX了);
• 如果你想學做簡單的手機APP,那麼,Android手機就學Java,蘋果手機就學Swift好了;
• 如果你只想知道程式設計是怎麼回事,那……從Python或JavaScript開始就行。其實,跟五六歲的小朋友一起學學Scratch圖形程式設計也不錯。
【問題106】休閒模式 | 我需要學人工智慧嗎?
在“休閒模式”裡,最需要學的不是“人工智慧的實現原理”,而是“什麼是人工智慧”,以及“人工智慧能做什麼,不能做什麼”。
• 在手機上試一試,人工智慧做語音辨識時能做到什麼水準?哪些話容易識別,哪些話不容易識別?
• 打開機器翻譯軟體,試一試哪些資訊翻譯得好,哪些資訊翻譯得不好?
• 手機上的拍照軟體一般都有人臉識別功能。試一試人臉識別在什麼場景下做得好,什麼場景下做得不好?
• 找一部講人工智慧的科幻電影,用自己的判斷解讀一下,電影裡哪些技術有可能成為現實,哪些技術存在邏輯矛盾。
【問題107】休閒模式 | 推薦什麼參考書、參考文獻?
書不重要,豆瓣評分7分以上的電腦應用、程式設計甚至科普類圖書都可以拿來翻翻。
直接在知乎裡搜索你想瞭解或學習的知識點可能更有效率。
如果你意猶未盡,覺得自己剛活動開筋骨,還想挑戰更高層次,歡迎進入“探險模式”。⟹請跳轉至【問題200】
否則,“休閒模式”到此結束。⟹請離開此問答
【問題200】探險模式 | 主要學什麼?
“探險模式”需要有挑戰精神。電腦科學的世界技術演進快,脈絡複雜,要想在探索時不迷路,你得通過有順序、有系統地學習電腦知識,慢慢構建出一張可以在未來幫你走得更遠的思維地圖來。
在“探險模式”裡,電腦就不止是一件能快速計算的工具了。電腦更像是我們大腦的一種延伸。這既包括認知能力的延伸,也包括認知邏輯的延伸。隨著學習深入,大家會逐漸體會到電腦所具有的多維度能力:
電腦是一種可以表示不同類型資訊(數、符號、文字、語音、圖像、視頻、虛擬空間、抽象邏輯)的“資訊管理機”;
同時,電腦也是一種可以連續執行指令以完成特定的資訊處理任務的“指令處理機”;
同時,電腦還是一種可以在知識與邏輯層面完成特定推理任務的“知識推理機”;
同時,電腦也是一種可以從人類給定的資料或自我生成的資料中總結規律,建立模型,自主完成某些決策的“智慧學習機”。
“探險模式”的目標就是盡可能準確地認識電腦,掌握有關電腦運行的最基本規律。有了這些基礎。未來在大學期間或工作中,你就能更容易地設計電腦軟硬體系統,或是設計出碳基大腦(人類)與矽基大腦(機器智慧)之間的最佳協作方案。
【問題201】探險模式 | 我的英語水準足夠嗎?
蘋果每年秋季的新品發佈會,不加字幕的話,你能聽懂多少?
能聽懂大部分:建議在學習電腦的過程中,盡可能使用英文教材、英文文檔。
能聽懂小部分:建議將原來準備學電腦的時間,分出一部分來學英語。
只能聽懂“你好”“再見”之類:⟹請離開此問答。然後,把原來準備學電腦的時間用於學英語,六個月後再回來。
【問題202】探險模式 | 我的數學水準足夠嗎?
如果你是數學和數學應用小能手——較複雜的數學問題總能快速找到核心思路,或快速簡化為簡單問題;很容易就能將抽象概念映射到具體的數學圖形,或將數學問題與相應的現實問題關聯在一起:請繼續探險之旅。
如果你應付正常數學課程感到吃力:建議將原來準備學電腦的時間,分出一部分來學數學。
如果你還搞不清楚什麼是方程、函數、集合、概率……:⟹請離開此問答。然後,把原來準備學電腦的時間用於學數學,六個月後再回來。
【問題203】探險模式 | 為什麼強調英語和數學?
(1)統計上說,最好的電腦參考資料大都是英文寫的,最好的電腦課程大都是用英文講的,最新的電腦論文大都是用英文發表的。
(2)函數、方程、坐標系、標量、向量、排列組合、概率這些中學數學裡會初步學習到的數學知識,是電腦科學的基礎。
【問題204】探險模式 | 電腦知識那麼多,正確的學習順序是什麼?
最重要的順序有兩個。建議先從順序一開始,學有餘力時兼顧兩個順序。
順序一:自底向上,即,自底層原理向上層應用拓展的順序。
電腦原理的基礎知識:
為什麼每台電腦(包括手機)都有CPU、記憶體和外部設備?
(馮·諾依曼體系結構的)記憶體中為什麼既可以存儲資料,也可以存儲指令?
CPU是如何完成一次加法運算的?
程式設計語言的基礎知識:
資料類型,值,變數,作用域……
語句,流程控制語句……
過程、方法或函數,類,模組,程式,服務……
編譯系統的基本概念:
電腦程式是如何被解釋或編譯成目標代碼的?
演算法和資料結構的基礎知識:
陣列,向量,鏈表,堆,棧,二叉樹,樹和圖……
遞迴演算法,排序演算法,二叉樹搜索演算法,圖搜索演算法……
應用層的基礎知識:
為什麼電腦需要作業系統?設備驅動程式是做什麼的?
網路通信的基本原理是什麼?流覽器是怎麼找到並顯示一個網頁的?
資料庫是做什麼用的?
虛擬機器是怎麼回事?
人工智慧系統的基礎知識:
先熟悉些線性代數、概率和數學優化的基礎知識。
什麼是機器學習?從簡單的線性回歸中體會機器學習的基本概念、基本思路。
什麼是神經網路?什麼是深度神經網路?為什麼神經網路可以完成機器學習任務?
如何使用PyTorch或TensorFlow實現簡單的深度學習功能?
順序二:自頂向下,即,自頂層抽象邏輯向下層具體邏輯拓展的順序。
• 電腦的本質是什麼?
• 什麼是圖靈機?什麼是通用圖靈機?
• 什麼是讀取﹣求值﹣輸出迴圈(Read–eval–print Loop,REPL)?
如何用自頂向下的方式理解(解析、解釋、編譯)一段程式碼?
• 靜態語言和動態語言的區別?
如何理解變數與資料類型之間的綁定關係?
• 什麼是函數式程式設計?
程式設計語言中,函數的本質是什麼?
函數為什麼可以像一個值一樣被表示、存儲、傳遞和處理?
• 什麼是物件導向?
類的本質是什麼?
如何用物件導向的方式定義個功能介面?
如何依據介面實現具體功能?
• 什麼是事件驅動?
什麼是事件?事件如何分發到接收者?
如何在事件驅動的環境中理解代碼的狀態和執行順序?
【問題205】探險模式 | 如何提高程式設計水準?
在掌握基本知識體系的基礎上,學好程式設計只有一條路:多程式設計,多參加程式設計比賽,多做程式設計題,多做實驗項目,多找實習機會——其中,能參與真實專案是最有價值的。
【問題206】探險模式 | 該從哪一門程式設計語言學起?
我個人推薦的程式設計入門語言(可根據情況任選):
Python
Java
Swift
C#
JavaScript / TypeScript
Ruby
……
可能不適合入門,但適合後續深入學習的語言:
C
C++
Go
Objective-C
組合語言
機器語言(CPU指令集)
Shell Script
Lua
Haskell
OCaml
R
Julia
Erlang
MATLAB
……
【問題207】探險模式 | 如何選參考書和參考資料?
(1)強烈推薦的參考書和參考資料:
• MIT、Stanford、CMU、UC Berkeley這四所大學中任何一個電腦專業方向使用的教學參考書或參考資料。網上可以查到這些學校電腦專業方向的課程體系,有的學校甚至公開了課程視頻。其中往往會列舉參考書和參考資料連結。
• 維琪百科(英文)上的數學、電腦科學相關條目。
• Github上star數在1000以上的開原始程式碼和開來源文件。
(2)強烈推薦但須小心辨別的參考資料:
知乎上的數學、電腦科學相關條目。使用時需要格外注意三件事:
儘量只看高贊答案或高贊文章;
辨別並避開廣告軟文;
辨別並避開純抖機靈的故事或段子。
Stack Overflow上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
CSDN上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
(3)其他推薦的參考書和參考資料:
國內專業作者寫作的專業技術書籍(豆瓣評分7分以上的)。
大廠(Google、Facebook、Microsoft、Amazon、阿裡、騰訊、百度、頭條等)資深工程師的技術公號、專欄、博客等。
著名圖書系列:如O’Reilly的動物封面的系列圖書(請注意最新版本和時效性)。
國內翻譯的著名技術圖書(譯本在豆瓣評分7分以上的)。
(4)儘量避免的參考書和參考資料:
• 已經過時的圖書或參考資料。
• 作者或譯者人數比章節數還多的專業圖書。
• 百度百科上的數學或電腦科學相關資料。
什麼什麼?你這篇問答居然沒有推薦一本具體的圖書?是,沒錯。如果你覺得即便有了上面的線索,自己還是找不到好書好資料,那也許你還是適合“休閒模式”⟹請跳轉至【問題100】
tensorflow pytorch比較 在 深度學習框架: Pytorch與Tensorflow 的推薦與評價
PyTorch 與TensorFlow分別佔據了學術界和產業界這兩塊大餅。而為什麼會有這樣的現象,後面的幾項比較就會讓你慢慢理解。 ... <看更多>
tensorflow pytorch比較 在 [問卦] Pytorch跟TensorFlow學哪個比較好 - PTT八卦政治 的推薦與評價
[問卦] Pytorch跟TensorFlow學哪個比較好. 看板 Gossiping. 作者 maskedhacker. 時間 2021-08-17 17:33:54. 留言 8則留言,8人參與討論. 推噓 -2 ( 2推 4噓 2→ ) ... ... <看更多>
tensorflow pytorch比較 在 TensorFlow 還是PyTorch?我適合使用哪個深度學習框架? #補 ... 的推薦與評價
... <看更多>