תחום האינטליגנציה המלאכותית קיים שנים רבות.
עשורים מתכנתים שונים ניסו לדמות אינטליגנציה במשחקי מחשב, סימולציות ולמידת התנהגות.
הם הצליחו במידה מסוימת - אך ההצלחה הזו רק חיקתה את המטרה העילית - אינטליגנציה חכמה.
ומה אני מתכוון בחכמה?
אינטליגנציה שתוכל להתמודד עם שינויים.
אלגוריתם שכתוב עבור שח-מט לא יכל לפתור בעיות מיקום.
תוכנה שבנויה לדבר עם אדם לא תתמודד עם בקרת רכב.
אך ב-2014 חל שינוי דרמטי בתחום.Deepmind
נצחו לראשונה במשחק בשם -go
.
המשחק גו קל ללמידה אך קשה לנצחון.
“Easy to learn, hard to master”.
המחשב “ניצח” את השחמט כבר מזמן אך גו היה מעיין אתגר בלתי פתיר עבור האנושות.
אך ב-2014 קרה הבלתי ייאמן - מחשב ניצח שחקן מקצועי בין הטובים בעולם.
ניתן לקרוא כאן את המאמר הרשמי:
https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf
אם להיות מאוד גס - הפתרון היה טמון בשני צעדים שאחד מהם הוא עץ מאוד חכם.
יש גם סרט לצפייה:
https://www.youtube.com/watch?v=WXuK6gekU1Y
אם קראתם במאמר למעלה - תוכלו לשים לב לכמה מושגים:
המושג רשת נוירונים נלקח מהביולוגיה - כמו שמוח בנוי מנוירונים שמעבירים מידע בשכבות אז כך גם רשת נוירונים במחשב בנויה בשכבות.
כמו שהאדם לומד כך גם אלגוריתם שבנוי על רשת נוירונים יודעת ללמוד.
כדי ללמוד צריך לאמן את האלגוריתם - שווה ערך לישיבה עם ספר ולמידה.
וכמובן הרשת צריכה ללמוד על סמך נתונים - זה בעצם ה-Data set
שאתם צריכים בשביל לאמן את הרשת.
עולם הגו שנפרץ קדימה הייתה קפיצת מדרגה ראשונה בעולם ה-AI
.
אך זו לא הפעם הראשונה שניסו להשתמש במנגנון חכם שיכול ללמוד.
ב-1952 מרווין מינסקי סטונדט מהרוורד מימש את טכנולוגיית ה-SNARC
- Stochastic Neural Analog Reinforcement Calculator
.
זה היה המימוש הראשון לרשתות נוירונים שיכולה ללמוד - אך הייתה בעיה מאוד מהותית בטכנולוגיה הזו.
כדי “ללמד” את הרשת היה צורך בהזנה ידנית של הקלטים על מנת לומר לרשת שהיא ניחשה נכון.
מה כל כך מיוחד בזה?
שמדובר ברשת נוירונים המדמה למידה כמו אצל נוירונים אנושיים - ההשוואה הזו מאוד גסה אך היא עוזרת להבין את העיקר.
כמו שהסברנו רשת נוירונים זה כמו שזה נשמע - שכבות נוירונים שמחברות בין נוירונים אחת לשנייה.
ניתן לשים לב לכמה שכבות:
כאשר רשת לומדת היא צריכה לקבל מידע מאיפשהו.
המידע הזה נקרא Data Set
.
מידע אמין הוא הוא מידע עם תיוגים.
מידע מתיוג הוא כזה שמייצג את הקלט ואיזה פלט רצוי.
כמו ילד שמראים לו תמונה של חתול ואומרים לו - זה חתול!
כאשר יש לנו יותר מתמונה אחת מתויגת אנחנו יכולים לקרוא למידע שלנו DataSet
.
המידע המתויג בדרך כלל מחולק 80% ו20% למידע לאימון ומידע לטסטים.
אנחנו מאמנים את המודלים ואחר כך מנסים אותו על מידע מתויג אמין.
לכל חיבור יש משקולת שמכבידה או מקלה על התוצאה ובכך נותנת “משקל” לנקודות.
לכן כל נקודה יכולה להשפיע יותר או פחות על התוצאה.
ככל שאנחנו מאמנים את המודל שלנו על מידע מתויג ואמין המודל משנה גם את המשקולות שלו.
מקרה קצה שיכול להיות למשל זה לאמן מודל על בסיס תמונות שהקצוות אף פעם אינן חתול.
המודל יבין שהפיקסלים בקצוות הן בדרך כלל לא חתול ובעצם יילמד משהו שלא בהכרח נכון.
לכן מידע מתויג, אמין, איכותי ומגוון הוא נושא מאוד מרכזי בכל תחום הלמידה העמוקה.
ממליץ לראות את הסרטון הזה כדי לדעת איך רשתות עובדות ו”לומדות”.
כל נוירון מייצג פונקציה מסוימת שהיא בדרך כלל אינה לינארית.
תאורטית ניתן להשתמש בפונקציה לינארית אך זה ייגרום לפונקציונאליות שלנו להיות פחות מורכבת ועם תוצאות יותר צפויות.
במקרה של נוירונים שהם קלט אנחנו לא נבצע איזושהיא טרנספורמציה אלה פשוט ניקח את הערך ההתחלתי.
אלו ערכים זה יכולים להיות?
ובכך אנחנו מתחילים את ההבנה הראשונית המתמטית שלנו:
הערכים מחוברים וכמו שראינו ע”פ המשקל שהם מייצגים בתהליך.
חלק מתהליך הלמידה הוא גם להבין מה גודל המשקלים אל מול הפונקציות המחושבות.
כיוון הפונקציות והמשקלים זה בעצם תהליך ה”למידה” שהוא מבצע.
ע”י חלוקה שונה של המשקלים אנחנו יכולים לתת ערך גדול יותר או קטן יותר לחלק מהפונקציות.
ובכך לדעת מה “מתאים” לנו יותר.
בסרטון הלמידה למעלה יש דוגמא מעולה לאיך זה משפיע על התוצאה הסופית.
יש כמה סוגי רשתות שמגדירות שכבות מסוימות אך יש פה עקרונות שעוזרים לרשתות האלו לעבור מ”למידה” ל-“למידה עמוקה”.
ובכך אנחנו עושים את האבחנה בין AI
- Machine Learning
ל-Deep Learning
.
יש יותר סוגי אך אלו הם הנפוצים מביניהם:
רשתות פשוטות עם קלאסיפיקציה בינארית והבחנה לינארית.
נכון שאמרנו שפונקציות הן לא לינאריות בלמידה עמוקה ולכן רשתות כאלו הן יותר פשוטות מאחרים וניתן להשתמש בהם בעיקר לכלי אבחנה וזיהוי קול.
זוהי רשת פשוטה שמורכבת משכבות.
כל קלט הולך בכיוון אחד והשכבות אינן מורכבות יותר מדי.
רוב העבודה היא בלמידה פשוטה ומשתמשים בזה בשביל מיון, זיהוי פנים ועבודות לא מורכבות.
רשת נוירונים שיודעת להחזיר לארוך ולחשב מחדש אחרים על בסיס למידה חדשה.
מודלים כאלו יכולים להיות מחוברים יחד ולפתור בעיות מורכבות בעולם ה-NLP
- Natural Language Processing
.
וזהו בעצם הבסיס ל-AI
חדשים שאתם שומעים עליהם כמו -ChatGPT
.
אחרי שהבנו מאיפה התהליכים התחילו ניתן לדבר על-Generative AI
.
המודלים האלו משמשים את האנשים בתור כלי ליצירת תוכן, איזה תוכן?
בעצם “אוטומציה” לתהליכים שעד היום נחשבו לקשים לפתירה.
AI
שיצר עוד היסטוריה ע”י יצירה של אומנות מכתיבת טקסט.
זהו לא ה-AI
היחידי בתחומו אך הוא בין הפופולריים כיום וב-8 דולר לחודש אתם יכולים לקבל גישה לבוט מאוד חזק.
אתר:
https://www.midjourney.com/showcase/recent/
קרדיט ל-MidJourney
.
AI
חכם שיודע למחוק עצמים מתוך תמונות.
הסתקרנתם? גם אנחנו.
אתר:
https://magicstudio.com/magiceraser/
בין אתרי התרגום הכי טובים שיצא לי להשתמש - גוגל כבר לא במקום 1 אמרנו?
אתר:
https://www.deepl.com/translator
ובשורה ה-200 הגענו סוף סוף לבוט המבוקש והפופלרי שעשה היסטוריה - הChatGPT
.
הבוט שהוא בעצם צ’אט מבוסס על מודלים לשפה ואומן ע”י מקורות רבים מהרשת.
הוא יודע:
הבוט לא מושלם.
הוא כמובן לא מדבר על כל דבר רע-
איך לבנות נשק, איך ליצור כימיקליים רעילים וכדו’
הוא גם משתדל לא לענות על שאלות שהוא לא אומן עליהם או מורכב מדי לענות.
קיימות לבוט מגרעות אחרות גם כן:
למה הוא כן טוב?
למשל שאלתי אותו איפה כדאי לטייל ביוון:
למשל יש לי פונקציה לא יעילה לביצוע מיון של מערך:
1 | def sort(arr): |
מה שאני יכול לבקש ממנו זה לנסות לייעל את הפונקציה הזו:
ואחרי בדיקה אכן היא יעילה בהרבה יותר:
1 | Sort 1 is on: |
כמובן ניתן לקבל ביקורת על מגוון יצירות טקסטואלים כמו שירים, סיפורים, פסקאות.
אני לעיתים משתמש בבוט כדי לתת לי ביקורת על הפוסטים שלי!
הבוט כרגע בשנת 2023 לא יודע לעשות דברים מורכבים מדי.
אך בדברים קטנים הוא יעיל מאוד ויכול לעזור לנו בשלל תחכומים:
שימו לב שעם עברית הוא לא הכי מסתדר אז זה עליכם לתקן את הבעיות שלו :)
אנחנו בעיצומה של מהפכה.
מצד אחד הכלים המפותחים כיום יכולים להציל אותנו ולבצע דברים אוטומטיים לפעולות שנחשבו עד היום מורכבות מדי למחשב.
החל מהמכונית האוטונמית, ועד הרובוטים שמכינים אוכל.
קשה לדעת מתי בעתיד הם יידעו להחליף את כולנו אך דבר אחד ברור - קשה מאוד להחליף את הקונטקס האנושי בהתהליכים.
לעיתים הבוטים לא ידעו באמת מהי ה”שפה” שלנו.
כמו סלנג שמשתנה מדור לדור כך גם הרעיונות והדרכים של האנושות משתנים מדור לדור.
ממש לא.
עושים מאמצים רבים בתחום הרגולציה כדי שהבוטים האלו לא יהיו משומשים לרעה.
כמו שמכונית אוטונומית יכולה להיות משהו טוב ולנסוע על הכביש באופן חוקי לחלוטין,
האקרים יכולים לפרוץ אליה ולשלוח פקודות זדוניות כדי להתנגש או ליצור תאונות שרשרת.
אבל לכל הפרנואידים וחסרי הביטחון מבינינו אני יכול להגיד לכם גם שעם גדילת התעשייה, כך גם המגנים שלנו גדלים ועושים מאמצים רבים בתחום הרגולציה והסייבר לפתור את הבעיות האלו.
האם פחדנו מקוצבי לב?
כן, אבל פתרו את הבעיות האלו.
כך גם הבעיות עם ה-AI
ייפתרו.
אני ממליץ לכם לקרוא עוד ועוד על מודלים וללמוד עוד ועוד על התעשייה הזו.
אתר עם הרבה מודלים הוא Hugging Face
.
כמו כן קיימים ב-GitHUB
הרבה פרוייקטים עם קוד פתוח למודלים שונים.
תודה על הקריאה!