在近日Github趨勢熱榜上,來自微軟亞洲研究院AI教育團隊的人工智能教育與學習共建社區再度引發了廣泛關注,目前已獲得超過6000星。平臺開發團隊在GitHub上表示,該平臺是在教育部指導下,依託於新一代人工智能開放科研教育平臺,微軟亞洲研究院研發團隊和學術合作部將爲本社區提供全面支持。
平臺提供人工智能應用開發的真實案例,以及配套的教程、工具等學習資源,人工智能領域的一線教師及學習者也將分享他們的資源與經驗。團隊表示,希望本社區的建立,能以開源的方式與廣大師生、開發者一起學習、一起貢獻,共同豐富、完善本社區,爲中國人工智能的發展添磚加瓦。
社區的學習資源優質且免費,絕大部分爲原創內容,核心學習資源包括實戰篇和理論篇兩大部分,輔以參考學習路徑和先修知識參考資源,讓廣大學習者可以清晰地選擇適合自己的學習路徑,高效地學習。
理論篇
理論篇的內容又稱作“9步學習神經網絡”,爲微軟亞洲研究院研發團隊原創內容,着重講述偏理論的知識,同樣以“做中學”爲核心概念,但是獨特地以化繁爲簡,深入淺出爲特點,提供通俗易懂的理論講解,清晰工整的代碼,準確無誤的內容,完整的作業體系,不但有理論,還有大量實踐動手環節,幫助讀者不但迅速掌握“深度學習”的基礎知識,更好地理解並使用現有框架,而且可以助力讀者快速學習最新出現的各種神經網絡的擴展或者變型,跟上快速發展的AI浪潮,使學習者從新的角度快速上手神經網絡的學習,做到真正的從入門到精通。該部分內容在針對合作伙伴線下的培訓中,受到廣大學習者的廣泛好評。
神經網絡初探
- 適用人羣:希望瞭解最基本的神經網絡知識,有一定代碼能力。
- 內容:神經網絡基礎知識,線性迴歸,線性分類。
- 先修知識:微分知識和線性代數;Python
- 學習時長:6~8小時
- 學習目標:理解神經網絡基礎概念。
神經網絡初探學習路徑參考
神經網絡進階
- 適用人羣:具有一定的神經網絡學習基礎和代碼能力的學習者。
- 內容:非線性迴歸,非線性分類,模型推理。
- 先修知識:微分知識和線性代數;Python
- 學習時長:8~12 小時
- 學習目標:更好地理解並使用現有神經網絡框架。
神經網絡進階學習路徑參考
深度網絡基礎
- 適用人羣:有較好的神經網絡理論基礎,想通過學習深度網絡進行更多地擴展性研究或者開發。
- 內容:DNN,CNN,RNN。
- 先修知識:微分知識和線性代數;Python
- 學習時長:16~24 小時
- 學習目標:有能力快速學習最新出現的各種神經網絡的擴展或者變型,或進行前沿性研究。
深度網絡基礎學習路徑參考
實戰案例:從漫畫開始,學會OCR圖文轉換
興趣是第一老師。相信很多同學應該都有一本自己心目中最喜歡的漫畫吧。,
微軟認知服務包括了影像、語音、語言、搜索、知識五大領域,通過對這些認知服務的獨立或者組合使用,可以解決很多現實世界中的問題。作爲AI小白,我們可以選擇艱難地攀登崇山峻嶺,也可以選擇像牛頓一樣站在巨人的肩膀上。本章節的內容就以“漫畫翻譯”爲例,介紹如何靈活使用微軟認知服務來實現自己的AI夢想。
日本漫畫非常著名,如海賊王,神探柯南等系列漫畫在中國的少年一代中是非常普及。國內專門有一批志願者,全手工翻譯這些漫畫爲中文版本,過程艱辛複雜,花費時間很長。能否使用AI來幫助加快這個過程呢?
小提示:漫畫是有版權的,請大家要在尊重版權的前提下做合法的事。
漫畫翻譯,要做的事情有三步:
調用微軟認知服務,用OCR(光學字符識別)服務識別出漫畫上所有文字;
調用微軟認知服務,用Text Translate(文本翻譯)服務把日文翻譯成中文;
自己寫邏輯代碼把中文文字貼回到以前的漫畫中,覆蓋以前的日文,生成新的漫畫幀。
下圖是展示最後的翻譯效果,左側是原漫畫,右側是翻譯成中文的結果(由於版權問題,我們自己模仿原漫畫做了幾個對話氣泡):
環境準備
安裝Windows 10版本 1803,低一些的Windows 10版本也可以使用。Windows 7也可以運行本示例程序,但不建議使用,Windows 7的官方技術支持到2020/01/14結束。
小提示:如果您的機器不能運行Windows 10,說明硬件性能還是有些不夠的。AI是建立在軟硬件快速發展的基礎上的,不建議您使用低配置的機器來做AI知識的學習。
安裝Visual Studio 2017 Community。點擊這裏下載,對於本案例,安裝時選擇“.NET桌面開發”即可滿足要求。
界面設計代碼
<Window x:Class="CartoonTranslate.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:CartoonTranslate" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <StackPanel Orientation="Horizontal" Grid.Row="0"> <TextBlock Grid.Row="0" Text="Input URL:"/> <TextBox x:Name="tb_Url" Grid.Row="1" Width="600" Text="http://stat.ameba.jp/user_images/20121222/18/secretcube/2e/19/j/o0800112012341269548.jpg"/> <Button x:Name="btn_Show" Content="Show" Click="btn_Show_Click" Width="100"/> <Button x:Name="btn_OCR" Content="OCR" Click="btn_OCR_Click" Width="100"/> <Button x:Name="btn_Translate" Content="Translate" Click="btn_Translate_Click" Width="100"/> </StackPanel> <StackPanel Grid.Row="1" Orientation="Horizontal"> <TextBlock Text="Engine:"/> <RadioButton x:Name="rb_V1" GroupName="gn_Engine" Content="OCR" Margin="20,0" IsChecked="True" Click="rb_V1_Click"/> <RadioButton x:Name="rb_V2" GroupName="gn_Engine" Content="Recognize Text" Click="rb_V2_Click"/> <TextBlock Text="Language:" Margin="20,0"/> <RadioButton x:Name="rb_English" GroupName="gn_Language" Content="English"/> <RadioButton x:Name="rb_Japanese" GroupName="gn_Language" Content="Japanese" IsChecked="True" Margin="20,0"/> </StackPanel> <Grid Grid.Row="3"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="40"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TextBlock Grid.Column="0" Text="Source Image" VerticalAlignment="Center" HorizontalAlignment="Center"/> <TextBlock Grid.Column="2" Text="Target Image" VerticalAlignment="Center" HorizontalAlignment="Center"/> <Image x:Name="imgSource" Grid.Column="0" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top"/> <Image x:Name="imgTarget" Grid.Column="2" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top"/> <Canvas x:Name="canvas_1" Grid.Column="0"/> <Canvas x:Name="canvas_2" Grid.Column="2"/> </Grid> </Grid> </Window>
由於篇幅限制,完整內容請參考GitHub:
https://github.com/microsoft/ai-edu