✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

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

Eli Shlomo
|
קלה
|
Apr 30, 2019
alt="facebook"alt="linkedin"להרשמה לניוזלטר

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


אם נביט רגע אחורה ונבדוק מה קרה עד כה עם בינה מלאכותית, אזי אפשר לומר שבינה מלאכותית קיימת מעל 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_156

screenshot_157

screenshot_158

screenshot_159

screenshot_160

screenshot_161


לסיכום


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


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


מאת: אלי שלמה, מומחה למערכות מיקרוסופט וענן

רוצים להתעדכן בתכנים נוספים הקשורים ל-AI-ML? הצטרפו לפורום המקצועי של IsraelClouds בתחום > להרשמה

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


אם נביט רגע אחורה ונבדוק מה קרה עד כה עם בינה מלאכותית, אזי אפשר לומר שבינה מלאכותית קיימת מעל 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_156

screenshot_157

screenshot_158

screenshot_159

screenshot_160

screenshot_161


לסיכום


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


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


מאת: אלי שלמה, מומחה למערכות מיקרוסופט וענן

רוצים להתעדכן בתכנים נוספים הקשורים ל-AI-ML? הצטרפו לפורום המקצועי של IsraelClouds בתחום > להרשמה

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
בואו נעבוד ביחד
support@israelclouds.com
צרו קשר