Scratch 3 免費線上教材

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

在知道Scratch 線上的免費資源之前,當然要先知道Scratch這個軟體在那兒可以取得。Scratch的官網有提供兩種版本:

圖文教材
STEAM 教育學習網 https://steam.oxxostudio.tw/category/scratch/index.html
橘子蘋果開放教材:https://orangeapple.co/csr/open-material

影音教材

***個人推薦***均一Scratchhttps://www.junyiacademy.org/computing/programming/scratch/scratch-3-m01***個人推薦***

個人推薦均一Scratch來學習

讀書筆記:《用Google玩人工智慧實驗》

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

最近幾年資訊科技一直圍繞在人工智慧與物聯網(物廉網)上,而《用Google玩人工智慧實驗》這本書介紹了只需開起瀏覽器就可以在電腦、手機、平板上體驗人工智慧實驗,於是筆者就高興地閱讀此書了。

第1章 認識人工智慧
此章介紹了人工智慧的定義與起源,以及它的發展與現況。在1956年,科學家在一次的研討會中,提出「人工智慧」一詞,希望機器能夠使用語言能理解抽象概念能解決只有人類可解決的問題能自我改良等。而Alan Turing提出了 Turing Test來檢驗機器是否具有智慧。

人工智慧經歷過幾次的起伏,從「推理與探索」到「專家系統」到「深度學習」為主流的精采歷史。目前人工智慧可大約分成專用型人工智慧(弱人工智慧)以及通用型人工智慧(強人工智慧)兩種。

世界各大企業持續提供方便的人工智慧工具,例如Google AI Experiments


第2章人工智慧如何運作
此章介紹了人工智慧如何運作以及機器學習、類神經網路、深度學習的基礎觀念。機器學習、類神經網路、深度學習的關係可參考下圖:
人工智慧研究如何讓機器(電腦)表現得有智慧,於是得先有資料給它進行學習(輸入),讓電腦進一步計算與分析(處理),最後產生結果或功能(輸出),如下圖所示:

機器學習通常分為三種類型:監督式學習(Supervised Learning)、非監督式學習(Unsupervised Learning)、強化學習(Reinforcement Learning)。

深度學習是從類神經網路發展而來的,而類神經網路利用機器來模擬人腦神經系統運作模式。( https://playground.tensorflow.org/ )

類神經網路如下圖所示,含有輸入層(Input Layer)、隱藏層(Hidden Layer)、輸出層(Output Layer)。

圖上的每一個圓圈為一個節點,是模仿生物神經元發送訊號。每個節點的輸出若高於一個指定的臨界值,就會啟動該節點,並將訊號傳送給下一個節點。而深度學習為含有多個隱藏層(通常為三層以上)的類神經網路。

AI Experiments 實作體驗
Teachable Machine 網站:https://teachablemachine.withgoogle.com/
Teachable Machine 教學影片:https://www.youtube.com/watch?v=3BhkeY974Rg
操作說明(後續附上連結)

Tensorflow Playground 網站:https://playground.tensorflow.org/
操作說明(後續附上連結)


第3章人工智慧的影像辨識與應用
人工智慧影像辨識是研究與展現最多的應用之一,因為視覺很讓人容易感到很多的體驗。

圖像的基本單位為像素,一個像素不見得是正方形,可以是點、線、或是平滑的線。下圖取自 https://en.wikipedia.org/wiki/Pixel

彩色圖像(Color Image) 大致分為兩種圖像格式:RGBCMYK。電腦如何處理影像可以參考演算法筆記網站的Image說明。 

機器學習的影像資訊處理過程:原始影像 --> 特徵提取 --> 群集分類 --> 辨識學習 --> 模型應用

資料集
MNIST手寫資料集 http://yann.lecun.com/exdb/mnist/
ImageNet 影像資料集 https://www.image-net.org/

影像辨識應用:智慧城市、智慧辦公室、智慧零售、智慧家庭

AI Experiments 實作體驗
操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

第4章人工智慧的聲音、音樂技術與應用
聲音介紹波動聲波的振幅聲波的頻率聲波的波形

機器學習的聲音資訊處理過程:原始聲音 --> 特徵提取 --> 群集分類 --> 模型應用

各類聲音辨識競賽

AI Experiments 實作體驗
操作說明(後續附上連結)

The Infinite Drum Machine 網站:https://experiments.withgoogle.com/drum-machine
操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)


第5章人工智慧的文字、語言技術與應用
自然語言處理過程:文字或語音資料 --> 字詞分析 --> 語意理解 --> 生成語言 

這看起來好像很輕鬆容易,但對電腦而言這不是很容易,這件事情和符號接地問題(https://en.wikipedia.org/wiki/Symbol_grounding_problem)有關。

聊天機器人「小冰

AI Experiments 實作體驗
操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)

操作說明(後續附上連結)


第6章人工智慧創意應用
AI和硬體整合(如ArduinoMicrobitESP32Raspberry PI等)後,產生了虛擬整合的智慧物聯網(AIoT)。

AI Experiments 實作體驗
Morse + WaveNet Starter Code 網站:https://experiments.withgoogle.com/morse-speak-demo
操作說明(後續附上連結)

Rock-Paper-Scissor Machine 網站:https://experiments.withgoogle.com/rock-paper-scissors
操作說明(後續附上連結)

操作說明(後續附上連結)

Sound-Controlled Intergalactic Teddy 網站:https://experiments.withgoogle.com/sound-teddy
操作說明(後續附上連結)


操作說明(後續附上連結)

操作說明(後續附上連結)

Tree Search: BFS, DFS, Best-First, and A* Search

This example is from MIT OCW Artificial Intelligence.

Consider the tree shown below. The numbers on the arcs are the arc lengths; the numbers

near states B, C, and D are the heuristic estimates; all other states have a heuristic estimate

of 0.


Assume that the children of a node are expanded in alphabetical order when no other order

is specified by the search, and that the goal is state J . No visited or expanded lists are used.

What order would the states be expanded by each type of search. Write only the sequence

of states expanded by each search.


Breadth First

Setep 1:

Visited: A

Queue: B, C, D


Step 2:

Visited: A, B

Queue: C, D, E, F G


Step 3:

Visited: A, B, C

Queue: D, E, F G, H


Step 4:

Visited: A, B, C, D

Queue: E, F, G, H, I, J


Step 5:

Visited: A, B, C, D, E

Queue: F, G, H, I, J



Step 6:

Visited: A, B, C, D, E, F

Queue: G, H, I, J


Step 7:

Visited: A, B, C, D, E, F, G

Queue: H, I, J


Step 8:

Visited: A, B, C, D, E, F, G, H

Queue: I, J


Step 9:

Visited: A, B, C, D, E, F, G, H, I

Queue: J


Step 10:

Visited: A, B, C, D, E, F, G, H, I, J

Queue:


Path for BFS: A, B, C, D, E, F, G, H, I, J


Depth First

Step 1:

Visited: A

Stack: B, C, D


Step 2:

Visited: A, B

Stack: E, F, G, C, D


Step 3:

Visited: A, B, E

Stack: F, G, C, D


Step 4:

Visited: A, B, E, F

Stack: G, C, D


Step 5:

Visited: A, B, E, F, G

Stack: C, D


Step 6:

Visited: A, B, E, F, G, C

Stack: H, D


Step 7:

Visited: A, B, E, F, G, C, H

Stack: D


Step 8:

Visited: A, B, E, F, G, C, H, D

Stack: I, J


Step 9:

Visited: A, B, E, F, G, C, H, D, I

Stack: J


Step 10:

Visited: A, B, E, F, G, C, H, D, I, J

Stack:


Path for DFS: A, B, E, F, G, C, H, D, I, J



Best-First

Node

h(n)

A

0

B

1

C

6

D

3

E

0

F

0

G

0

H

0

I

0

J

0


Step 1:

Open: A

Close:


Step 2:

Open: B, C, D

Close: A


h(B) = 1 ==> the lowest

h(C) = 6

h(D) = 3


Step 3:

Open: C, D, E, F, G

Close: A, B


h(C) = 6

h(D) = 3

h(E) = 0 ==> the lowest

h(F) = 0

h(G) = 0


Step 4:

Open: C, D, F, G

Close: A, B, E


h(C) = 6

h(D) = 3

h(F) = 0 ==> the lowest

h(G) = 0


Step 5:

Open: C, D, G

Close: A, B, E, F


h(C) = 6

h(D) = 3

h(G) = 0 ==> the lowest


Step 6:

Open: C, D,

Close: A, B, E, F, G


h(C) = 6

h(D) = 3 ==> the lowest


Step 7:

Open: C, I, J

Close: A, B, E, F, G, D

h(C) = 6

h(I) = 0 ==> the lowest

h(J) = 0


Step 8:

Open: C, J

Close: A, B, E, F, G, D, I


h(C) = 6

h(J) = 0 ==> the lowest


Step 9:

Open: C

Close: A, B, E, F, G, D, I, J

Reach the Goal J


Path for Best-First: A, B, E, F, G, D, I, J


A*-Search

Node

h(n)

A

0

B

1

C

6

D

3

E

0

F

0

G

0

H

0

I

0

J

0


Step 1:

Open: A

Close:


Step 2:

Open: B, C, D

Close: A


f(A->B) = h(B) + g(A->B) = 1 + 5 = 6 ==> the lowest

f(A->C) = h(C) + g(A->C) = 6 + 2 = 8

f(A->D) = h(D) + g(A->D) = 3 + 4 = 7

Step 3:

Open: C, D, E, F, G

Close: A, B


f(A->B->E) = f(A->B) + h(E) + g(B->E) = 6 + 0 + 6 = 12

f(A->B->F) = f(A->B) + h(F) + g(B->F) = 6 + 0 + 3 = 9

f(A->B->G) = f(A->B) + h(G) + g(B->G) = 6 + 0 + 4 = 10

f(A->C) = h(C) + g(A->C) = 6 + 2 = 8

f(A->D) = h(D) + g(A->D) = 3 + 4 = 7 ==> the lowest


Step 4:

Open: C, E, F, G, I, J

Close: A, B, D


f(A->D->I) = f(A->D) + h(I) + g(D->I) = 7 + 0 + 6 = 13

f(A->D->J) = f(A->D) + h(J) + g(D->J) = 7 + 0 + 3 = 10 ==> the lowest

Step 5:

Open: C, E, F, G, J

Close: A, B, D, J


Reach the Goal J

Path for A*: A, B, D, J