DL4J

DL4J (או Eclipse Deeplearning4j) היא ספריית תוכנה כתובה ב-Java עבור JVM.<ref></ref> הספרייה משמשת כשלד תוכנה עם תמיכה רחבה באלגוריתמי למידה עמוקה.<ref></ref> DL4J כולל יישומים של מכונת בולצמן המוגבלת, רשתות אמונה עמוקה, מקודד עמוקים, מחסנית אוטומטית מוערמת ורשת טנזור עצבית רקורסיבית, word2vec, doc2vec ו-GloVe. אלגוריתמים אלו כוללים כולם עיבוד מקבילי ומבוזר המשתלבים עם Apache Hadoop ו-Spark.<ref></ref>

DL4J היא תוכנת קוד פתוח ששוחררה תחת Apache License 2.0,<ref></ref> שפותחה בעיקר על ידי קבוצת למידת מכונה בסן פרנסיסקו.<ref name="deeplearning4j.org"></ref> היא נתמכת מסחרית על ידי הסטארט-אפ Skymind, המאגד את DL4J, TensorFlow, Keras וספריות למידה עמוקה אחרות בהפצה ארגונית הנקראת Skymind Intelligence Layer.<ref></ref> באוקטובר 2017 DL4J נתרמה לקרן Eclipse.<ref></ref><ref></ref>

== מבוא ==
DL4J מסתמכת על שפת התכנות הנפוצה Java, אם כי היא תואמת ל-Clojure וכוללת ממשק תכנות יישומים לScala (API). היא מופעלת על ידי ספריית עיבוד חישובים מתמטית קוד פתוח משלה, ND4J, ועובדת עם CPU<nowiki/>s ו-GPU<nowiki/>s.<ref name="om"></ref><ref name="vb"></ref>

נעשה שימוש ב-DL4J במספר יישומים מסחריים ואקדמאים. הקוד מנוהל ב-GitHub.<ref>[https://github.com/deeplearning4j/deeplearning4j Deeplearning4j source code]</ref> פורום תמיכה מתקיים ב Gitter. <ref>[https://gitter.im/deeplearning4j/deeplearning4j Deeplearning4j Gitter Support Channel]</ref>

המסגרת ניתנת להרכבה, כלומר ניתן להוסיף רשתות עצביות רדודות כגון מכונות בולצמן מוגבלות, רשתות קונבולוציוניות, מקודדים אוטומטיים ורשתות חוזרות זו לזו כדי ליצור רשתות עמוקות מסוגים שונים. יש לו גם כלי הדמיה נרחבים,<ref>[http://deeplearning4j.org/visualization Deeplearning4j Visualization Tools]</ref> וגרפי חישוב.<ref>[http://deeplearning4j.org/compgraph Deeplearning4j Computation Graph]</ref>

== הפצה ==
אימון עם DL4J מתרחש באשכול. רשתות עצביות מאומנות במקביל באמצעות הפחתה איטרטיבית, שפועלת על Hadoop- YARN ועל Spark.<ref name="deeplearning4j.org"></ref><ref></ref> כאשר DL4J משתלב גם עם ליבות CUDA כדי לבצע פעולות GPU טהורות, ועובד עם GPUs מבוזרים.

== מחשוב מדעי עבור JVM ==
DL4J כולל מחלקת מערך n-ממדית באמצעות ND4J המאפשרת מחשוב מדעי ב-Java ו-Scala, בדומה לפונקציות ש-NumPy מספקת לפייתון. היא מבוססת למעשה על ספרייה לפעולות אלגברה ליניארית ומטריצות בסביבת ייצור.

== ספריית וקטוריזציה של DataVec ללימוד מכונה ==
DataVec וקטוריזציה של פורמטים שונים של קבצים וסוגי נתונים באמצעות מערכת פורמט קלט/פלט הדומה לשימוש של Hadoop ב-MapReduce; כלומר, היא הופכת סוגי נתונים שונים לעמודות של סקלרים המכונים "וקטורים". DataVec נועד להגדיר וקטור קובצי CSV, תמונות, קול, טקסט, וידאו וסדרות זמן.<ref>[http://deeplearning4j.org/datavec DataVec ETL for Machine Learning]</ref><ref>[https://www.infoq.com/articles/deep-learning-time-series-anomaly-detection Anomaly Detection for Time Series Data with Deep Learning]</ref>

== טקסט ו-NLP ==
DL4J כולל ערכת כלים למידול מרחב וקטור ו"מידול נושאים", המיושמת ב-Java ומשולבת עם GPUs מקבילים לביצועים. הוא נועד להתמודד עם סטים גדולים של טקסט.

Deeplearning4j כולל הטמעות של term frequency–inverse document frequency (או tf–idf), למידה עמוקה ואלגוריתם word2vec של Mikolov,<ref>[https://code.google.com/p/word2vec/ word2vec]</ref> doc2vec, ו-GloVe, מיושמים מחדש ומטוייבים ב-Java. היא מסתמכת על t-SNE להדמיות של ענן-מילים.

== מקרי שימוש ואינטגרציות מהעולם האמיתי ==
מקרי שימוש בעולם האמיתי עבור DL4J כוללים זיהוי חדירת לרשת ואבטחת סייבר, זיהוי הונאה למגזר הפיננסי,<ref></ref> זיהוי חריגות בתעשיות כמו ייצור, מערכות ממליצים במסחר אלקטרוני ופרסום,<ref></ref> וזיהוי תמונות. DL4J השתלב עם פלטפורמות אחרות ללימוד מכונה כגון RapidMiner, Prediction.io, ו-Weka.<ref>https://deeplearning.cms.waikato.ac.nz/</ref>

== שרת מודל למידת מכונה ==
DL4J משרתת מודלים של לימוד מכונה להסקת מסקנות בייצור באמצעות מהדורת המפתחים החינמית של SKIL, שכבת ה-Skymind Intelligence Layer.<ref></ref><ref></ref> שרת מודלים משרת את המודלים הפרמטריים של לימוד מכונה שמקבל החלטות לגבי נתונים. הוא משמש לשלב ההסקה של למידת מכונה, לאחר data pipelines והכשרת מודלים (model training). שרת מודל הוא הכלי המאפשר לבצע מחקר במדעי-הנתונים בסביבת ייצור בעולם האמיתי.

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

שרת המודלים של SKIL מסוגל לייבא מודלים ממסגרות Python כגון Tensorflow, Keras, Theano ו-CNTK, ובכך מבטיח התגברות על מחסום גדול בפריסת מודלים של למידה עמוקה.

== הערות שוליים ==

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