פרויקטים אחרונים של למידת מכונה לנסות בשנת 2019



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

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

מהי למידת מכונה?

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





מיהו מהנדס ML

שלבי למידה ממוחשבת

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



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

התגוששות נתונים: זהו תהליך הניקוי והמרת 'נתונים גולמיים' לפורמט המאפשר צריכה נוחה

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



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

דגם הבדיקה: מערך הבדיקה קובע את הדיוק של המודל שלנו.

פְּרִיסָה: אם המהירות והדיוק של המודל מקובלים, יש לפרוס את המודל במערכת האמיתית. לאחר פריסת המודל על סמך ביצועיו, המודל מעודכן ומשופר אם יש ירידה בביצועים המודל מחודש.

סוגי למידת מכונה

למידה ממוחשבת מסווגת לפי שלושה סוגים:

למידה מפוקחת: זה אחד שבו יש לך משתני קלט (x) ומשתנה פלט (Y) ואתה משתמש באלגוריתם כדי ללמוד את פונקציית המיפוי מהקלט לפלט.

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

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

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

מקרי שימוש בתעשייה

1. סטודיו לתנועה

תְחוּם: חֲצִי

מוֹקֵד: ייעל את תהליך הבחירה

ג'אווה מה זה וקטור

אתגר עסקי: סטודיו Motion הוא בית ההפקה הגדול ביותר ברדיו באירופה. עם הכנסות של יותר ממיליארד דולר, החברה החליטה להשיק תוכנית ריאליטי חדשה: כוכב RJ. התגובה לתכנית היא חסרת תקדים והחברה מוצפת בקליפים קוליים. אתה כמומחה ל- ML צריך לסווג את הקול כאל זכר / נקבה כך שרמת הסינון הראשונה תהיה מהירה יותר.

נושאים מרכזיים: דוגמה קולית היא במבטא.

יתרון עסקי: מאז כוכב RJ היא תוכנית ריאליטי, הזמן לבחירת מועמדים הוא קצר מאוד. כל הצלחת המופע ומכאן הרווחים תלויה בביצוע מהיר וחלק

ייבוא ​​פנדות כ- pd ייבוא ​​numpy כ- np ייבוא ​​matplotlib.pyplot כ- plt ייבוא ​​seaborn כמו sns% matplotlib אזהרות ייבוא ​​מוטבעות. אזהרות מסנן ('התעלם') df = pd.read_csv ('קול סיווג. csv') df.head ()

# בדוק את המספר לא. של הרשומות df.info () df.desribe () df.isnull (). sum ()

הדפס ('צורת נתונים:', df.shape) הדפס ('מספר התוויות הכולל: {}'. פורמט (df.shape [0])) הדפס ('מספר זכר: {}'. פורמט (df [ df.label == 'זכר']. צורה [0])) הדפס ('מספר נקבה: {}'. פורמט (df [df.label == 'נקבה']. צורה [0]))

X = df.iloc [:,: -1] הדפס (df.shape) הדפס (X.shape)

מ- sklearn.preprocessing ייבוא ​​LabelEncoder y = df.iloc [:, - 1] gender_encoder = LabelEncoder () y = gender_encoder.fit_transform (y) y מ sklearn.preprocessing יבוא Scaler Scaler = StandardScaler () scaler.fit (X) X = scaler.transform (X) מ- sklearn.model_selection ייבוא ​​train_test_split X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0.3, random_state = 100) מ- sklearn.svm ייבא SVC ממדדי ייבוא ​​של sklearn. , confusion_matrix svc_model = SVC () svc_model.fit (X_train, y_train) y_pred = svc_model.predict (X_test) הדפס ('ציון דיוק:') הדפס (metrics.accuracy_score (y_test, y_pred))

הדפס (confusion_matrix (y_test, y_pred))

2. LITHIONPOWER

תְחוּם: רכב

מוֹקֵד: תמריץ נהגים

אתגר עסקי: Lithionpower היא הספקית הגדולה ביותר של סוללות לרכב חשמלי (רכב אלקטרוני). נהגים שוכרים סוללה בדרך כלל ליום ואז מחליפים אותה בסוללה טעונה של החברה. ל- Lithionpower מודל תמחור משתנה המבוסס על היסטוריית הנהיגה של הנהג. מכיוון שחיי הסוללה תלויים בגורמים כמו מהירות יתר, מרחק נסיעה ביום וכו '. אתה כמומחה ל- ML צריך ליצור מודל אשכול שבו ניתן לקבץ נהגים בהתבסס על נתוני הנהיגה.

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

הטבות עסקיות: גידול ברווחים, עד 15-20% מכיוון שנהגים עם היסטוריה לקויה יחויבו יותר.

ייבוא ​​פנדות כ- pd ייבוא ​​numpy כ- np יבוא matplotlib.pyplot כ- plt יבוא seaborn כמו sns sns.set () # לעיצוב עלילה% matplotlib אזהרות ייבוא ​​מוטבעות. פילטר אזהרות ('התעלם') ייבא matplotlib.pyplot כ plt plt.rcParams [ 'figure.figsize'] = (12, 6) df = pd.read_csv ('driver-data.csv') df.head ()

df.info () df.desribe ()

מ- sklearn.cluster ייבוא ​​KMeans # לוקח 2 אשכולות KMeans = KMeans (n_clusters = 2) df_analyze = df.drop ('id', axis = 1) kmeans.fit (df_analyze)

kmeans.cluster_centers_

הדפס (kmeans.labels_) הדפס (len (kmeans.labels_))

הדפס (סוג (kmeans.labels_)) ייחודי, ספירות = np.unique (kmeans.labels_, return_counts = True) הדפס (dict (zip (ייחודי, ספירות)))

df_analyze ['cluster'] = kmeans.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', size = 6, היבט = 1, fit_reg = שקר)

# עכשיו, בואו נבדוק את האשכולות, כאשר n = 4 kmeans_4 = KMeans (n_clusters = 4) kmeans_4.fit (df.drop ('id', axis = 1)) kmeans_4.fit (df.drop ('id', ציר = 1)) הדפס (kmeans_4.cluster_centers_) ייחודי, ספירות = np.unique (kmeans_4.labels_, return_counts = נכון) kmeans_4.cluster_centers_ הדפסה (dict (zip (ייחודי, ספירות)))

df_analyze ['cluster'] = kmeans_4.labels_ sns.set_style ('whitegrid') sns.lmplot ('mean_dist_day', 'mean_over_speed_perc', data = df_analyze, hue = 'cluster', palette = 'coolwarm', size = 6 היבט = 1, fit_reg = שקר)

3. BluEx

תְחוּם: לוֹגִיסטִיקָה

מוֹקֵד: נתיב אופטימלי

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

נושאים מרכזיים: לנתונים יש הרבה תכונות והסיווג יכול להיות מסובך.

הטבות עסקיות: ניתן לחסוך עד 15% מעלות הדלק על ידי ביצוע הדרך האופטימלית.

ייבא מטומטם כ- np יבוא פילאב כ- plt ייבוא ​​רשת x כ nx #Initializing points points_list = [(0,1), (1,5), (5,6), (5,4), (1,2), (2 , 3), (2,7)] יעד = 7 מיפוי = {0: 'התחל', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5 ', 6:' 6 ', 7:' 7-Destination '} G = nx.Graph () G.add_edges_from (points_list) pos = nx.spring_layout (G, k = .5, center = points_list [2]) nx .draw_networkx_nodes (G, pos, node_color = 'g') nx.draw_networkx_edges (G, pos, edge_color = 'b') nx.draw_networkx_labels (G, pos) plt.show ()

NO_OF_POINTS = 8 # רישום מטריקס R = np.matrix (np.ones (צורה = (NO_OF_POINTS, NO_OF_POINTS))) R * = -1 לנקודה ברשימת נקודות: הדפס (נקודה) אם נקודה [1] == מטרה: R [נקודה] = 150 אחר: R [נקודה] = 0 אם נקודה [0] == מטרה: R [נקודה [:: - 1]] = 150 אחרת: # הפוכה מנקודה R [נקודה [:: - 1]] = 0

R [מטרה, מטרה] = 150 R

Q = np.matrix (np.zeros ([NO_OF_POINTS, NO_OF_POINTS])) # פרמטר הלמידה gamma = 0.8 initial_state = 1 def available_actions (state): current_state_row = R [state,] av_act = np.where (current_state_row & ampampampgt = 0 ] [1] להחזיר av_act available_act = available_actions (initial_state) def sample_next_action (available_actions_range): next_action = int (np.random.choice (available_act, 1)) return next_action action = sample_next_action (available_act) update update (current_state, action, gamma) : max_index = np.where (Q [action,] == np.max (Q [action,])) [1] if max_index.shape [0] & ampampampgt 1: max_index = int (np.random.choice (max_index, גודל = 1)) אחר: max_index = int (max_index) max_value = Q [action, max_index] Q [current_state, action] = R [current_state, action] + gamma * max_value print ('max_value', R [current_state, action] + gamma * max_value) if (np.max (Q) & ampampampgt 0): return (np.sum (Q / np.max (Q) * 100)) אחר: עדכון return (0) (initial_state, action, gamma)

ציונים = [] עבור i בטווח (700): current_state = np.random.randint (0, int (Q.shape [0])) available_act = available_actions (current_state) action = sample_next_action (available_act) score = update (current_state, פעולה, גמא) ציונים. הוסף (ציון) הדפס ('ציון:', str (ניקוד)) הדפס ('מטריצת Q מאומנת:') הדפס (Q / np.max (Q) * 100) # בדיקת current_state = 0 צעדים = [state_state] בעוד current_state! = 7: next_step_index = np.where (Q [current_state,] == np.max (Q [current_state,])) [1] if next_step_index.shape [0] & ampampampgt 1: next_step_index = int (np.random.choice (next_step_index, size = 1)) אחר: next_step_index = int (next_step_index) צעדים. append (next_step_index) current_state = next_step_index

הדפס ('הנתיב היעיל ביותר:') הדפס (צעדים) plt.plot (ציונים) plt.show ()

פרויקטים של קוד פתוח למכונת למידה בשנת 2019

גלאי : Detectron היא מערכת התוכנה של פייסבוק AI Research המיישמת אלגוריתמי איתור אובייקטים משוכללים. הוא כתוב בפייתון ומופעל על ידי מסגרת הלמידה העמוקה של Caffe2.

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

Denspose : הערכת תנוחת אדם צפופה מכוונת למיפוי כל הפיקסלים האנושיים של תמונת RGB למשטח התלת ממדי של גוף האדם. DensePose-RCNN מיושם במסגרת Detectron.

TensorFlow.js : זוהי ספרייה לפיתוח והדרכה של דגמי ML ופריסה בדפדפן. זה הפך למהדורה מאוד פופולרית מאז שהוא יצא מוקדם יותר השנה וממשיך להדהים בגמישותו. בעזרת זה אתה יכול

  • פתח ML בדפדפן: השתמש בממשקי API גמישים ואינטואיטיביים לבניית מודלים מאפס באמצעות ספריית האלגברה הליניארית של JavaScript ברמה נמוכה או ה- API של שכבות ברמה גבוהה.
  • הפעל דגמים קיימים : השתמש בממירי דגם TensorFlow.js להפעלת דגמי TensorFlow קיימים ישירות בדפדפן.
  • הכשר מחדש את הדגמים הקיימים: הכשר מחדש את דגמי ה- ML הקיימים באמצעות נתוני חיישנים המחוברים לדפדפן, או נתונים אחרים בצד הלקוח.

Waveglow: למידת מכונה עושה גם התקדמות משמעותית בעיבוד השמע וזה לא רק יצירת מוזיקה או סיווג. WaveGlow היא רשת גנרית מבוססת זרימה לסינתזת דיבור על ידי NVIDIA. החוקרים רשמו גם את השלבים שתוכלו לבצע אם אתם רוצים להכשיר את המודל שלכם מאפס.

ציור תמונות : תאר לעצמך שיש לך חצי תמונה של סצנה ורצית את התפאורה המלאה, ובכן זה מה שהצביעת תמונות יכולה לעשות את זה בשבילך. פרויקט זה הוא יישום של Keras של הנייר Outpainting Image של סטנפורד. המודל הוכשר עם 3500 נתונים על חוף גרוטאות עם טיעון של עד 10,500 תמונות עבור 25 תקופות .

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

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

אתה יכול להבדיל? אין זכות? ובכן, זה מראה לנו כמה רחוק הגענו מבחינת למידת מכונה.

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

מַגֶנטָה : מג'נטה הוא פרויקט מחקר הבוחן את התפקיד של למידת מכונה בתהליך יצירת אמנות ומוסיקה. בעיקר מדובר בפיתוח אלגוריתמים חדשים של למידה עמוקה וחיזוק ליצירת שירים, תמונות, ציורים וחומרים אחרים.

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

חלקים מתוכנית Java

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