בינה מלאכותית, מאיפה מתחילים?

בתקופה האחרונה ובעיקר בשנה האחרונה בינה מלאכותית תפסה תאוצה וכולם מדברים על התחום וסביב הנושאים השונים הקיימים של התחום, אך אפשר לומר שרק כמה בודדים מתעסקים בזה ביומיום ומפיקים ערך בעל משמעות.

אם נביט רגע אחורה מה קרה עד כה עם בינה מלאכותית, אז אפשר לומר שבינה מלאכותית קיימת מעל 30 שנה שבהן דיסציפלינת AI נשארה במגדל השן האקדמי ולאנשים מסוימים בלבד, ושם היא הפיקה בעיקר מאמרים לספרות המקצועית, אך כמו שניתן לשים לב לאחרונה העולם העסקי נפתח לפניה עם אינספור אפשרויות מעשיות של איך להמציא מחדש את המחשוב.

בניגוד לתחומי המחשוב השונים (ענן, אבטחה, פיתוח וכן הלאה) בינה מלאכותית מציבה אתגר אחר לגמרי וזה לא עוד תחום שאפשר “להיכנס אליו ביום אחד”, למרות שהכלים, הפלטפורמות ודרכי הלמידה הקיימות מנגישות את המידע והאפשרויות למידה בצורה טובה.

מאיפה מתחילים

רק מתוך חיפוש של How to start with artificial intelligence באינטרנט אפשר לקבל אינספור תוצאות של איך להתחיל בנושא, מה ללמוד, אולי גם דוגמאות ועוד הרבה מידע שלא בהכרח יכול לסייע ובעיקר יכול להטעות, ולכן רגע שלפני שמתחילים עם בינה מלאכותית צריך לשים לב למספר דגשים.

בינה מלאכותית הוא תחום עצום, והוא מכיל בתוכו תתי תחומים רבים אלגוריתמים גנטיים, עיבוד שפה מלאכותית, רשתות ניורונים, deduction והמון נוספים. ולכן רגע לפני שמתחילים ללמוד חייבים להבין מספר דגשים חשובים לתחילת למידה נכונה.

דרישות

דרישות בסיסיות ואולי כמה מתקדמות יתבססו בין היתר על הדגשים הבאים:

  • מתמטיקה היא חלק מהותי, חשוב ומכריע בבניית בינה מלאכותית
  • Machine Learning מסתכם בעיקר סביב אלגברה ליניארית
  • בסיס חזק והבנה בנושא רשתיות עצביות (neural networks)
  • למי יודע ומכיר סטטיסטיקות והסתברויות יוכל לאמץ שיטות ולפתח את התחום בצורה טובה יותר
  • הבנה וידע באלגוריתמים היא חשובה מאוד ויכולה להועיל גם כן

התמקדות

בינה מלאכותית הוא תחום רחב מאוד ולכן לפני הכל צריך להיות פוקוס על מה שלומדים, עושים ומתמקדים בו.

אם נקח את הדוגמה הבאה של, “תחום הרפואה – המטרה לחשב אפשרויות וחיזוי של לחץ דם והשפעות לכל אדם”

ברגע שישנה מטרה ניתן לחלק אותה לפי הדגשים הבאים:

  • זיהוי הכלים ושפת הקוד שאיתה נעבוד לטובת יצירת החישובים
  • חלוקת המשימות של אותו יעד למשימות קטנות במידת האפשר
  • התמקדות בכלים והנושאים סביב בינה מלאכותית שאיתם נעבוד

מתחילים פשוט

כמו תמיד מתחילים מתוך הדברים הקלים ואז הולכים למסובך ועם בינה מלאכותית זה חשוב הרבה יותר, והכוונה היא בתחילה למשל, יצירת דוגמה על גבי רשת עצבית קלה ואז להמשיך עם דברים מסובכים יותר.

למשל אם נקח דוגמה פשוטה המבוססת על פייתון

import numpy, random, os
a = 1 #learning rate
bias = 1 #value of bias
weights = [random.random(),random.random(),random.random()] #weights generated in a list (3 weights in total for 2 neurons and the bias)
def Perceptron(input1, input2, output) :
outputP = input1*weights[0]+input2*weights[1]+biais*weights[2]
if outputP > 0 : #activation function (here Heaviside)
outputP = 1
else :
outputP = 0
error = output – outputP
weights[0] += error * input1 * a
weights[1] += error * input2 * a
weights[2] += error * biais * a

ולכן צריך לשים לדגשים כמו:

  • בניה לפי תבניות מוכנות המפשטות את הבנת התהליך
  • עבודה וזיהוי תבניות (pattern recognition)
  • יצירת סימולטור פשוט

שפת קוד

בחירת שפת קוד היא חשובה מאוד אך לא החלק הכי חשוב, ולכן שפות תכנות כדוגמת Python או C++ וגם JAVA יכולים לשמש לטובת יצירת תוכן מבוסס קוד, וכמוכן לכל אחת מהן ישנה יתרונות וחסרונות.

למידת מכונה

גם במידה ומתחילים עם Deep Learning עדיין למידת מכונה היא חשובה וצריך לדעת אותה גם באופן תיאורטי,  וזאת הסיבה שהוזכר קודם לכן הצורך והעדיפות של ידע סביב הסתברויות, זיהוי תבניות ואלגוריתמים.

למידת מכונה ואלגוריתם

הבנה של אלגוריתמים מסוימים ולמידת מכונה היא חשובה ולכן הידע באלגוריתמים מסוימים כגון הבאים יכול לסייע בפיתוח:

  • support vector machines
  • recurrent neural networks
  • deep learning

יכול להיות שלאחר כל הדגשים הנ”ל חסר מידע תכלס של מאיפה להתחיל, ולכן (ולדעתי) אחת הדרכים הטובות להתחיל הוא הפלטפורמה של Microsoft עם AI School.

הפלטפורמה של AI School מסייעת בבניית מסלול על סמך מידע שמזינים אל האתר במטרה לתת את המסלול הכי נכון שמכיל בין היתר: נושאי למידה, תכנים, דרכי למידה ועוד.

screenshot_156screenshot_157screenshot_158screenshot_159screenshot_160screenshot_161

לסיכום

כמו שניתן להבין בינה מלאכותית וקיצורי דרך לא הולכים יחדיו ולכן צריך לדעת באופן ברור ככל האפשר מהם המטרות שלשמם אנו מפתחים ומעוניינים ליצור בינה מלאכותית, ומהו התוצר הסופי שלנו יכיל? לאחר מכן נוכל לדעת מהם הדרכים להגיע למטרה.

הדרך להבנה של איך עובדת בינה מלאכותית היא דרך לא קצרה ודורשת המון ידע ודרישות בסיסיות החל מצורך מתמטי, דרך הבנה בשפות תכנות, ובעיקר מהו למידת מכונה ולמידה עמוקה.

בינה מלאכותית, מאיפה מתחילים?

בתקופה האחרונה ובעיקר בשנה האחרונה בינה מלאכותית תפסה תאוצה וכולם מדברים על התחום וסביב הנושאים השונים הקיימים של התחום, אך אפשר לומר שרק כמה בודדים מתעסקים בזה ביומיום ומפיקים ערך בעל משמעות.

אם נביט רגע אחורה מה קרה עד כה עם בינה מלאכותית, אז אפשר לומר שבינה מלאכותית קיימת מעל 30 שנה שבהן דיסציפלינת AI נשארה במגדל השן האקדמי ולאנשים מסוימים בלבד, ושם היא הפיקה בעיקר מאמרים לספרות המקצועית, אך כמו שניתן לשים לב לאחרונה העולם העסקי נפתח לפניה עם אינספור אפשרויות מעשיות של איך להמציא מחדש את המחשוב.

בניגוד לתחומי המחשוב השונים (ענן, אבטחה, פיתוח וכן הלאה) בינה מלאכותית מציבה אתגר אחר לגמרי וזה לא עוד תחום שאפשר “להיכנס אליו ביום אחד”, למרות שהכלים, הפלטפורמות ודרכי הלמידה הקיימות מנגישות את המידע והאפשרויות למידה בצורה טובה.

מאיפה מתחילים

רק מתוך חיפוש של How to start with artificial intelligence באינטרנט אפשר לקבל אינספור תוצאות של איך להתחיל בנושא, מה ללמוד, אולי גם דוגמאות ועוד הרבה מידע שלא בהכרח יכול לסייע ובעיקר יכול להטעות, ולכן רגע שלפני שמתחילים עם בינה מלאכותית צריך לשים לב למספר דגשים.

בינה מלאכותית הוא תחום עצום, והוא מכיל בתוכו תתי תחומים רבים אלגוריתמים גנטיים, עיבוד שפה מלאכותית, רשתות ניורונים, deduction והמון נוספים. ולכן רגע לפני שמתחילים ללמוד חייבים להבין מספר דגשים חשובים לתחילת למידה נכונה.

דרישות

דרישות בסיסיות ואולי כמה מתקדמות יתבססו בין היתר על הדגשים הבאים:

  • מתמטיקה היא חלק מהותי, חשוב ומכריע בבניית בינה מלאכותית
  • Machine Learning מסתכם בעיקר סביב אלגברה ליניארית
  • בסיס חזק והבנה בנושא רשתיות עצביות (neural networks)
  • למי יודע ומכיר סטטיסטיקות והסתברויות יוכל לאמץ שיטות ולפתח את התחום בצורה טובה יותר
  • הבנה וידע באלגוריתמים היא חשובה מאוד ויכולה להועיל גם כן

התמקדות

בינה מלאכותית הוא תחום רחב מאוד ולכן לפני הכל צריך להיות פוקוס על מה שלומדים, עושים ומתמקדים בו.

אם נקח את הדוגמה הבאה של, “תחום הרפואה – המטרה לחשב אפשרויות וחיזוי של לחץ דם והשפעות לכל אדם”

ברגע שישנה מטרה ניתן לחלק אותה לפי הדגשים הבאים:

  • זיהוי הכלים ושפת הקוד שאיתה נעבוד לטובת יצירת החישובים
  • חלוקת המשימות של אותו יעד למשימות קטנות במידת האפשר
  • התמקדות בכלים והנושאים סביב בינה מלאכותית שאיתם נעבוד

מתחילים פשוט

כמו תמיד מתחילים מתוך הדברים הקלים ואז הולכים למסובך ועם בינה מלאכותית זה חשוב הרבה יותר, והכוונה היא בתחילה למשל, יצירת דוגמה על גבי רשת עצבית קלה ואז להמשיך עם דברים מסובכים יותר.

למשל אם נקח דוגמה פשוטה המבוססת על פייתון

import numpy, random, os
a = 1 #learning rate
bias = 1 #value of bias
weights = [random.random(),random.random(),random.random()] #weights generated in a list (3 weights in total for 2 neurons and the bias)
def Perceptron(input1, input2, output) :
outputP = input1*weights[0]+input2*weights[1]+biais*weights[2]
if outputP > 0 : #activation function (here Heaviside)
outputP = 1
else :
outputP = 0
error = output – outputP
weights[0] += error * input1 * a
weights[1] += error * input2 * a
weights[2] += error * biais * a

ולכן צריך לשים לדגשים כמו:

  • בניה לפי תבניות מוכנות המפשטות את הבנת התהליך
  • עבודה וזיהוי תבניות (pattern recognition)
  • יצירת סימולטור פשוט

שפת קוד

בחירת שפת קוד היא חשובה מאוד אך לא החלק הכי חשוב, ולכן שפות תכנות כדוגמת Python או C++ וגם JAVA יכולים לשמש לטובת יצירת תוכן מבוסס קוד, וכמוכן לכל אחת מהן ישנה יתרונות וחסרונות.

למידת מכונה

גם במידה ומתחילים עם Deep Learning עדיין למידת מכונה היא חשובה וצריך לדעת אותה גם באופן תיאורטי,  וזאת הסיבה שהוזכר קודם לכן הצורך והעדיפות של ידע סביב הסתברויות, זיהוי תבניות ואלגוריתמים.

למידת מכונה ואלגוריתם

הבנה של אלגוריתמים מסוימים ולמידת מכונה היא חשובה ולכן הידע באלגוריתמים מסוימים כגון הבאים יכול לסייע בפיתוח:

  • support vector machines
  • recurrent neural networks
  • deep learning

יכול להיות שלאחר כל הדגשים הנ”ל חסר מידע תכלס של מאיפה להתחיל, ולכן (ולדעתי) אחת הדרכים הטובות להתחיל הוא הפלטפורמה של Microsoft עם AI School.

הפלטפורמה של AI School מסייעת בבניית מסלול על סמך מידע שמזינים אל האתר במטרה לתת את המסלול הכי נכון שמכיל בין היתר: נושאי למידה, תכנים, דרכי למידה ועוד.

screenshot_156screenshot_157screenshot_158screenshot_159screenshot_160screenshot_161

לסיכום

כמו שניתן להבין בינה מלאכותית וקיצורי דרך לא הולכים יחדיו ולכן צריך לדעת באופן ברור ככל האפשר מהם המטרות שלשמם אנו מפתחים ומעוניינים ליצור בינה מלאכותית, ומהו התוצר הסופי שלנו יכיל? לאחר מכן נוכל לדעת מהם הדרכים להגיע למטרה.

הדרך להבנה של איך עובדת בינה מלאכותית היא דרך לא קצרה ודורשת המון ידע ודרישות בסיסיות החל מצורך מתמטי, דרך הבנה בשפות תכנות, ובעיקר מהו למידת מכונה ולמידה עמוקה.

You may also like...

השאר תגובה