**Torch** היא ספריית קוד פתוח ללמידה חישובית, תשתית לחישוב מדעי, ושפת תסריט המבוססת על שפת התכנות לואה. הספרייה מספקת מגוון רחב של אלגוריתמים ללמידה עמוקה, ומשתמשת בשפת התסריט LuaJIT במימוש אחורי בשפת C. פיתוח הספרייה הופסק ב-2018, אך עם זאת, ספריית PyTorch המתבססת עליה המשיכה בפיתוח פעיל.

torch
-----

החבילה הבסיסית ב-Torch היא torch. החבילה מספקת ממשק עבודה נוח עם מערכים N ממדים או טנזורים ובפרט אינדוקס, חיתוך, שחלוף, הסבת טיפוסים, שינוי גודל, שיתוף אחסון ושכפול. אובייקט זה נמצא בשימוש נרחב בחבילות שונות ומהווה את האובייקט הבסיסי בספרייה. הטנזור תומך גם בפעולות מתמטיות כמו מקסימום, מינימום, סכימה, התפלגויות סטטיסטיות, ופעולות סטנדרטיות מתמטיות סטנדרטיות של BLAS.

להלן דוגמה לשימוש ב-Torch דרך מפרש אינטראקטיבי:

```
> a = torch.randn(3,4)

> =a
-0.2381 -0.3401 -1.7844 -0.2615
 0.1411 1.6249 0.1708 0.8299
-1.0434 2.2291 1.0525 0.8465
[torch.DoubleTensor of dimension 3x4]

> a[1][2]
-0.34010116549482
	
> a:narrow(1,1,2)
-0.2381 -0.3401 -1.7844 -0.2615
 0.1411 1.6249 0.1708 0.8299
[torch.DoubleTensor of dimension 2x4]

> a:index(1, torch.LongTensor{1,2})
-0.2381 -0.3401 -1.7844 -0.2615
 0.1411 1.6249 0.1708 0.8299
[torch.DoubleTensor of dimension 2x4]

> a:min()
-1.7844365427828

```
ספריית torch מאפשרת גם תכנות מונחה-עצמים וסריאליזציה באמצעות פונקציות שימושיות. פונקציית torch.class(classname, parentclass)יכולה לשמש כדי ליצור יצרני אובייקטים. כאשר הבנאי נקרא, torch מתאחל ומגדיר טבלת לואה עם metatable המוגדרת על ידי המשתמש ובכך הופך את הטבלה לאובייקט.

nn
--

חבילת nn משמשת לבניית רשתות עצביות מלאכותית. היא מחולקת לאובייקטים מודולריים המשתפים ממשק משותף Module, הכולל פונקציות forward ו־backward המבצעים היזון קדמי (feedforward) ופעפוע אחורנית (backpropagate) בהתאמה. את המרכיבים הבסיסים ברשת כמו שכבות אקטיבציה ניתן ליצור מ-Linear,‏ Tanh ו־Max. ניתן להרכיב מודלים מורכבים Sequential,‏ Parallel ו־Concat. המבנה המודולרי מאפשר גזירה אוטומטית מסדר ראשון.

דוגמה להגדרת פרספטרון רב שכבתי:

```
> mlp = nn.Sequential()
> mlp:add( nn.Linear(10, 25) ) -- 10 input, 25 hidden units
> mlp:add( nn.Tanh() ) -- some hyperbolic tangent transfer function
> mlp:add( nn.Linear(25, 1) ) -- 1 output
> =mlp:forward(torch.randn(10))
-0.1815
[torch.Tensor of dimension 1]

```

פונקציות הפסד (Loss) ממומשות באמצעות תת-מחלקות של Criterion, שלו ממשק דומה לשל Module. פונקציות הפסד נפוצות הן שורש ממוצע הריבועים של השגיאה הממומש באמצעות MSECriterion ואנטרופיה משותפת הממומשת באמצעות ClassNLLCriterion.

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

קישורים חיצוניים
----------------

* אתר האינטרנט הרשמי של Torch
* קוד הספרייה ב-github

| בינה מלאכותית |
| --- |
| כללי | מבחן טיורינג • היסטוריה של הבינה המלאכותית • ציר הזמן של בינה מלאכותית • התקדמות הבינה המלאכותית (אנ') • AI-שלמות מערכת מומחה • אסדרת בינה מלאכותית (אנ') • בינה מלאכותית צרה • בינה חישובית • הסברתיות בינה מלאכותית • הפרדוקס של מורבק • סוכן תבוני • אתיקה של בינה מלאכותית |  |
| תחומים | עיבוד שפה טבעית • ראייה ממוחשבת • בינה מלאכותית יוצרת • אומנות בינה מלאכותית |
| סוגי למידת מכונה | מערכת לומדת • למידה מונחית • למידה בלתי מונחית • למידה עמוקה • למידת חיזוק • סיווג בייסיאני נאיבי • רשת בייסיאנית |
| אלגוריתמי למידת מכונה קלאסית | פרספטרון • עץ החלטה • מכונת וקטורים תומכים • Bag of words • אלגוריתם k-מרכזים • אלגוריתם מיקסום התוחלת • הורדת ממד • אלגוריתם שכן קרוב • Q-learning •‏ T-SNE •‏ Tf–idf • חיזוק גרדיאנט |
| למידה עמוקה | רשת עצבית מלאכותית • רשת זרימה קדימה • רשת עצבית רקורסיבית • טרנספורמר • Attention •‏ GAN |
| עיבוד שפה טבעית | מודל שפה • שיכון מילים (אנ') • בלשנות חישובית • תרגום מכונה • חילוץ מידע (אנ') • ניתוח סנטימנט • זיהוי חלקי דיבר (אנ') • מערכת זיהוי דיבור • זיהוי ישויות • כריית טקסט • תיוג תפקידים סמנטי • Word2vec • מודל שפה גדול • GPT •‏ BERT (אנ') • מודל Bag-of-words (אנ') • יצירת טקסט בשפה טבעית (אנ') • מילת עצירה • ניתוח מחרוזות • Stemming (אנ') • למטיזציה (אנ') |
| יישומים לבינה מלאכותית (אנ') | צ'אטבוט • זיהוי דובר • זיהוי עצמים • זיהוי תבניות • עוזר וירטואלי • זיהוי תווים אופטי • מחולל תמונות (הזיות (אנ')) |
| מערכות בינה מלאכותית | אלייזה • ChatGPT •‏ DALL-E •‏ Midjourney •‏ Gemini •‏ Perplexity •‏ GitHub Copilot • דיפ־פייק • סירי • Google Assistant • אמזון אלכסה |
| סוגיות בטיחות בינה מלאכותית (אנ') | סכנה קיומית מבינה מלאכותית כללית • בינה מלאכותית חזקה • יישור בינה מלאכותית (אנ') • בקרת יכולות בינה מלאכותית (אנ') • השתלטות בינה מלאכותית (אנ') • בינה מלאכותית ידידותית (אנ') • התכנסות אינסטרומנטלית (אנ') • סינגולריות טכנולוגית |
| ספריות בשימוש נרחב | TensorFlow •‏ PyTorch •‏ Torch •‏ Hugging Face •‏ Keras •‏ spaCy (אנ') •‏ Caffe |