Big Data and Machine Learning Workshop - Day 5 @ UTACM

Post on 13-Apr-2017

331 views 2 download

Transcript of Big Data and Machine Learning Workshop - Day 5 @ UTACM

1

تابستانن ۱۳۹۵

اامیر صدیقی

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین

@amirsedighi تو4تر: sedighi@gmail.comاایمیل:

ررووزز پنجم - یاددگیریی ژژررفف - قست ااوولل

اامیر صدیقی

موسس:

2

معرفی

http://recommender.ir http://helio.ir http://commentum.ir

@amirsedighi تو4تر: sedighi@gmail.comاایمیل:

3

پیشگفتاررگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

4

پیشگفتارر - طبقه‌بندیی (کلسیفیکشن)گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

5

پیشگفتارر - طبقه‌بندیی (کلسیفیکشن)گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

6

پیشگفتارر - طبقه‌بندیی (کلسیفیکشن)گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

7

پیشگفتارر - طبقه‌بندیی (کلسیفیکشن)گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

8

کمی به عقب برگرددیمگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

قبال با کلسیفایرهایی خطی آآشنا شدیم:

9

کمی به عقب برگرددیمگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

10

آآموززشش کلسیفایرگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

11

آآموززشش کلسیفایرگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

12

آآموززشش کلسیفایرگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

13

Softmax Functionگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

[ 3.0 1.0 0.2 ] Scores: Probabilities:

14

ددوورربین ماشین خودد رراا هوشمند‌کنیدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

15

ددوورربین ماشین خودد رراا هوشمند‌کنیدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

16

نتایج موتورر جستجو رراا ررنک کنیدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

17

نتایج موتورر جستجو رراا ررنک کنیدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

18

ددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایشگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

19

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

20

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

21

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

ددااددهههایی آآموززشی رراا به خاطر میسپارردد

22

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

نمی‌تونه حفط کنه!

23

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

24

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

25

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

26

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

27

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

28

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

29

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

30

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

31

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

32

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

?

33

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

34

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

35

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننددااددهه‌هایی آآموززشش، ااعتباررسنجی وو آآززمایش

36

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهرااننF1 ددقت، جامعیت وو

F1 = 2 * ((precision * recall) / (precision + recall))

37

یاددگیریی ژژررفف - مقدمهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

38

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

یاددگیریی ژژررفف کامپیوتر‌ها رراا قاددرر می‌ساززدد تا به حل مسائلی بپرددااززند که قبال تنها

توسط اانسانن حل می‌شد.

یاددگیریی ژژررفف - مقدمه

39

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

فرآآیند یاددگیریی ژژررفف به مقاددیر بسیارر ززیاددیی ددااددهه‌ نیازز دداارردد.

یاددگیریی ژژررفف - مقدمه

40

تمرکز کمپانی ‌هایی پیشروو بر یاددگیریی‌ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

41

تمرکز کمپانی ‌هایی پیشروو بر یاددگیریی‌ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

42

تمرکز کمپانی ‌هایی پیشروو بر یاددگیریی‌ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

43

تمرکز کمپانی ‌هایی پیشروو بر یاددگیریی‌ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

44

تمرکز کمپانی ‌هایی پیشروو بر یاددگیریی‌ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

45

DATA …فصل مشترکک بزررگانن ووببگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

46

AI ااختصاصص منابع تحقیقاتی ددرر حوززههگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

یاددگیریی ژژررفف بیشترین سهم اازز منابع مالی وو اانسانی تحقیقاتت ددرر حوززهه AI رراا به

خودد ااختصاصص ددااددهه ااست.

47

AI ااختصاصص منابع تحقیقاتی ددرر حوززههگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

یاددگیریی ژژررفف بیشترین سهم اازز منابع مالی وو اانسانی تحقیقاتت ددرر حوززهه AI رراا به

خودد ااختصاصص ددااددهه ااست.

چراا که ووقتی مقاددیر بسیارر ززیاددیی اازز ددااددهه وو مسائل پیچیدهه توااما ددرر کنارر هم قراارر

گیرند، یاددگیریی ژژررفف تواانایی‌هایی ااعجابب اانگیز به نمایش می‌گذاارردد.

48

برخی کاررکردد‌هایی یاددگیریی‌ ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

49

برخی کاررکردد‌هایی یاددگیریی‌ ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

50

یک مسئله براایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Q چه مسئلهاایی ددرر ددنیایی پیراامونن وو ززندگی ررووززمرهه خودد میشناسید که

میتواانن به کمک یاددگیریی ژژررفف براایی حل آآنن ااقداامم کردد؟

51

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Torsten Wiesel (left) and David H. Hubel (right)

In one experiment, done in 1959, they inserted a microelectrode into the primary visual cortex of an anesthetized cat. They then projected patterns of light and dark on a screen in front of the cat. They found that some neurons fired rapidly when presented with lines at one angle, while others responded best to another angle. Some of these neurons responded to light patterns and dark patterns differently.

52

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Torsten Wiesel (left) and David H. Hubel (right)

Hubel and Wiesel called these neurons simple cells. Still other neurons, which they termed complex cells, detected edges regardless of where they were placed in the receptive field of the neuron and could preferentially detect motion in certain directions. These studies showed how the visual system constructs complex representations of visual information from simple stimulus features.

53

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Torsten Wiesel (left) and David H. Hubel (right)

54

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Torsten Wiesel (left) and David H. Hubel (right) https://www.youtube.com/watch?v=8VdFf3egwfg

55

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

ااوولین الیه اازز نورروونن‌ها به لبه‌هایی ااشیا وو تصاوویر ددرر ززوواایا وو محل معین حساسیت نشونن میدهه!

56

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

الیه‌هایی اازز نروونن‌ها به حرکت‌ددرر جهت معین حساسیت نشونن میدهه!

57

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

پس نروونن‌هایی با سیناپس‌هایی معین براایی ددیدنن لبه‌ها، ددرروونن وو حرکت آآموززشش ددااددهه شدهه‌ااند!

58

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

سلسله مرااتبی اازز سلولها ووجودد ددااررهه، برخی به ززااوویه، برخی به حرکت (جهت حرکت)‌ حساسیت نشونن میدنن. ددرر ساددهه ترین سطح محیط ااشیا به سرعت شناسایی میشه.

59

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

بشر عالقمند بودد اازز ررووشش‌هایی شناسایی (تشخیص االگو) ددرر مغز بهرهه بگیرهه، پس شرووعع به مدلساززیی ررووشش شناخت ااشیا ددرر پستانداارراانن شدند.

60

سرآآغاززگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

شنواایی رروو ووصل کرددنن به بینایی! وو المسه … وو بقیه حوااسس

61

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

62

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

63

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

64

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

65

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

 Geoff Hinton2012

66

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Unsupervised

 Geoff Hinton2012

67

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

68

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

60M Parameters1000 Categories

69

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

70

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

71

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

72

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

73

فراازز وو نشیب‌هایی یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

74

اانوااعع شبکه عصبی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Feedforward (acyclic graphs)* Autoencoders * Denoising autoencoders * Restricted Boltzmann machines (stacked, they form deep-belief networks)

Convolutional— Deep convolutional networks are SOTA for images. There are many well known architectures, including AlexNet and VGGNet. — Convolutional networks usually involved a combination of convolutional layers as well as subsampling and fully connected feedforward layers.

Recurrent— These handle time series data especially well. They can be combined with convolutional networks to generate captions for images. * Long Short-Term Memory * GRU

Recursive— These handle natural language especially well * Recursive autoencoders * Recursive neural tensor networks

75

شبکه‌هایی عصبیگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Neural networks are a set of algorithms, modeled loosely after the human brain, that are designed to recognize patterns. They interpret sensory data through a kind of machine perception, labeling or clustering raw input. The patterns they recognize are numerical, contained in vectors, into which all real-world data, be it images, sound, text or time series, must be translated.

76

شبکه‌هایی عصبیگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Neural networks help us cluster and classify. You can think of them as a clustering and classification layer on top of  data you store and manage

77

شبکه‌هایی عصبیگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

They help to group unlabeled data according to similarities among the example inputs, and they classify data when they have a labeled dataset to train on.

78

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Is my problem supervised or unsupervised? If supervised, is it a classification or regression problem? Supervised learning has a teacher. That teacher takes the form of a training set that establishes correlations between two types of data, your input and your output. You may want to apply labels to images, for example. In this classification problem, your input is raw pixels, and your output is the name of whatever’s in the picture. In a regression example, you might teach a neural net how to predict continuous values such as housing price based on an input like square-footage. Unsupervised learning, on the other hand, can help you detect similarities and anomalies simply by analyzing unlabeled data. Unsupervised learning has no teacher; it can be applied to use cases such as image search and fraud detection.

79

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

If supervised, how many labels am I dealing with?The more labels you need to apply accurately, the more computationally intensive your problem will be. ImageNet has a training set with about 1000 classes; the Iris dataset has just 3.

80

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

How many features am I dealing with? The more features you have, the more memory you’ll need. With images, the features of the first layer equal the number of pixels in the image. So MNIST’s 28*28 pixel images have 784 features. In medical diagnostics, you may be looking at 14 megapixels.

81

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Another way to ask that same question is: What is my architectureResnet, the Microsoft Research net that won the most recent ImageNet competition, had 150 layers. All other things being equal, the more layers you add, the more features you have to deal with, the more memory you need. A dense layer in a multilayer perceptron (MLP) is a lot more feature intensive than a convolutional layer. People use convolutional nets with subsampling precisely because they get to aggressively prune the features they’re computing.

82

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

How am I going to tune my neural net?Tuning neural nets is still something of a dark art for a lot of people. There are a couple of ways to go about it. You can tune empirically, looking at the f1 score of your net and then adjusting the hyperparameters. You can tune with some degree of automation using tools like hyperparameter optimization. And finally, you can rely on heuristics like a GUI, which will show you exactly how quickly your error is decreasing, and what your activation distribution looks like.

83

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

A lot of research is being conducted on 1-4 GPUs. Enterprise solutions usually require more and have to work with large CPU clusters as well.

Hardware: Will I be using GPUs, CPUs or both? Am I going to rely on a single-system GPU or a distributed system?

84

پرسش‌هایی پیش اازز یاددگیریی ژژررففگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

What kind of problems does deep learning solve?spam or not_spam in an email filter, good_guy or bad_guy in fraud detection, angry_customer or happy_customer in customer relationship management.

85

چند مثاللگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Classification• Detect faces, identify people in images, recognize facial expressions

(angry, joyful) • Identify objects in images (stop signs, pedestrians, lane markers…) • Recognize gestures in video • Detect voices, identify speakers, transcribe speech to text, recognize

sentiment in voices • Classify text as spam (in emails), or fraudulent (in insurance claims);

recognize sentiment in text (customer feedback)

86

چند مثاللگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Classification• Detect faces, identify people in images, recognize facial expressions

(angry, joyful) • Identify objects in images (stop signs, pedestrians, lane markers…) • Recognize gestures in video • Detect voices, identify speakers, transcribe speech to text, recognize

sentiment in voices • Classify text as spam (in emails), or fraudulent (in insurance claims);

recognize sentiment in text (customer feedback)

Any labels that humans can generate, any outcomes you care about and which correlate to data, can be used to train a neural network.

87

چند مثاللگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Clustering

• Search: Comparing documents, images or sounds to surface similar items.

• Anomaly detection: The flipside of detecting similarities is detecting anomalies, or unusual behaviour. In many cases, unusual behaviour correlates highly with things you want to detect and prevent, such as fraud.

88

چند مثاللگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Predictive Analytics

• Hardware breakdowns (data centers, manufacturing, transport) • Health breakdowns (strokes, heart attacks based on vital stats

and data from wearables) • Customer churn (predicting the likelihood that a customer will

leave, based on web activity and metadata) • Employee turnover (ditto, but for employees)

89

معرفی یک اابزااررگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Predictive Analytics

• Hardware breakdowns (data centers, manufacturing, transport) • Health breakdowns (strokes, heart attacks based on vital stats

and data from wearables) • Customer churn (predicting the likelihood that a customer will

leave, based on web activity and metadata) • Employee turnover (ditto, but for employees)

90

پیاددهه ساززییگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

کد بنویسیم

91

مسئلهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

ااپلیکیشنی بنویسید که بتوااند اانوااعع ااشکالل متحرکک ددرروونن یک

سریی فیلم رراا که با ررنگ‌هایی متنوعع وو ددرر جهاتت گوناگونن

حرکت می‌کنند شناسایی کند.

92

ررااهه‌حل - یک ززبانن براایی برنامه‌نویسانن جاووااگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Deeplearning4j is a domain-specific language to configure deep neural networks, which are made of multiple layers. Everything starts with a MultiLayerConfiguration, which organizes those layers and their hyperparameters.

93

ررااهه‌حل - یک ززبانن براایی برنامه‌نویسانن جاووااگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Hyperparameters are variables that determine how a neural network learns. They include: • how many times to update the weights of the model • how to initialize those weights • which activation function to attach to the nodes • which optimization algorithm to use • how fast the model should learn

94

آآماددهه ساززیی یک شبکه چند الیهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

95

آآماددهه ساززیی یک شبکه چند الیهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().iterations(100).layer(new RBM()) .nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200}) .override(new ClassifierOverride(3)) .build();

For creating a deep learning network in Deeplearning4j, the foundation is the MultiLayerConfiguration constructor. Below are the parameters for this configuration and the default settings. A multilayer network will accept the same kinds of inputs as a single-layer network. The multilayer network parameters are also typically the same as their single-layer network counterparts.

96

آآماددهه ساززیی یک شبکه چند الیهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().iterations(100).layer(new RBM()) .nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200}) .override(new ClassifierOverride(3)) .build();

hiddenLayerSizes: int[], number of nodes for the feed forward layer • two layers format = new int[]{50} = initiate int array with 50 nodes • five layers format = new int[]{32,20,40,32} = layer 1 is 32 nodes, layer 2 is

20 nodes, etc

97

آآماددهه ساززیی یک شبکه چند الیهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().iterations(100).layer(new RBM()) .nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200}) .override(new ClassifierOverride(3)) .build();

list: int, number of layers; this function replicates your configuration n times and builds a layerwise configuration • do not include input in the layer count

98

آآماددهه ساززیی یک شبکه چند الیهگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().iterations(100).layer(new RBM()) .nIn(784).nOut(10).list(4).hiddenLayerSizes(new int[]{500, 250, 200}) .override(new ClassifierOverride(3)) .build();

http://deeplearning4j.org/doc/

99

ررااهه‌حلگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Solution: Combine convolutional, max pooling, dense (feed forward) and recurrent (LSTM) layers to classify each frame of a video (using a generated/synthetic video data set) Specifically, each video contains a shape (randomly selected: circles, squares, lines, arcs) which persist for multiple frames (though move between frames) and may leave the frame. Each video contains multiple shapes which are shown for some random number of frames.

100

ررااهه‌حلگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Solution: Combine convolutional, max pooling, dense (feed forward) and recurrent (LSTM) layers to classify each frame of a video (using a generated/synthetic video data set) Specifically, each video contains a shape (randomly selected: circles, squares, lines, arcs) which persist for multiple frames (though move between frames) and may leave the frame. Each video contains multiple shapes which are shown for some random number of frames.

IMP

101

یاددگیریی با نظاررتت - ملزووماتت گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Prerequisites:

• Windows, Linux or Mac • Java 1.7 • Apache Maven 3

102

Maven ساخت پرووژژهه پایه توسطگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Create the Maven project:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=ir.ac.ut.acm.recurrent.video -DartifactId=VideoClassification -DinteractiveMode=false

103

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Rename the default created App class to VideoClassification

mv main/java/ir/ac/ut/acm/recurrent/video/App.java main/java/ir/ac/ut/acm/recurrent/video/VideoClassification.java

104

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

<properties> <nd4j.version>0.4-rc3.8</nd4j.version> <dl4j.version>0.4-rc3.8</dl4j.version> <canova.version>0.0.0.14</canova.version> </properties>

105

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

<dependency> <groupId>org.deeplearning4j</groupId> <artifactId>deeplearning4j-nlp</artifactId> <version>${dl4j.version}</version> </dependency> <dependency> <groupId>org.deeplearning4j</groupId> <artifactId>deeplearning4j-core</artifactId> <version>${dl4j.version}</version> </dependency> <dependency> <groupId>org.nd4j</groupId> <artifactId>nd4j-x86</artifactId> <version>${nd4j.version}</version> </dependency> <dependency> <artifactId>canova-nd4j-image</artifactId> <groupId>org.nd4j</groupId> <version>${canova.version}</version> </dependency>

106

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Add ُthe following build plugin:

<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin>

107

گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Add the jar plugin:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>ir.ac.ut.acm.recurrent.video.VidoClassification</mainClass> </manifest> </archive> </configuration></plugin>

108

کدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

109

کدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

110

کدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

111

کدگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

112

یاددگیریی با نظاررتت -ااجراا گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Run the class by using the following command:

mvn compile Dexec.mainClass="ir.ac.ut.acm.recurrent.video.VideoClassification"

113

نتایج گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

114

نتایج گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Total time: 03:04 h

115

نتایج گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

116

نتایج گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

Total time: 16:01 h

117

یاددگیریی با نظاررتت - مخزنن گذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/recurrent/video/VideoClassificationExample.java

118

مرجعگذرریی بر کارربردد‌هایی ددااددهه‌هایی بزررگگ وو یاددگیریی‌ماشین - تابستانن ACM - ۱۳۹۵ دداانشگاهه تهراانن

https://research.googleblog.com/2015/07/how-google-translate-squeezes-deep.htmlhttp://deeplearning.net/tutorial/lenet.html

https://en.wikipedia.org/wiki/David_H._Hubel

https://www.youtube.com/watch?v=8VdFf3egwfg

https://groups.google.com/forum/#!msg/irandeeplearning/mRn5mSmN7jg/1dVeViynAAAJ

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-2010/

http://cs231n.github.io/

http://deeplearningbook.org/

MIT Tech Review, 10 BREAKTHROUGH TECHNOLOGIES, 2013 - Robert D Hof