Filter by دسته‌ها
chatGTP
ابزارهای هوش مصنوعی
اخبار
گزارش
تیتر یک
چندرسانه ای
آموزش علوم داده
اینفوگرافیک
پادکست
ویدیو
دانش روز
آموزش‌های پایه‌ای هوش مصنوعی
اصول هوش مصنوعی
یادگیری بدون نظارت
یادگیری تقویتی
یادگیری عمیق
یادگیری نیمه نظارتی
آموزش‌های پیشرفته هوش مصنوعی
بینایی ماشین
پردازش زبان طبیعی
پردازش گفتار
چالش‌های عملیاتی
داده کاوی و بیگ دیتا
رایانش ابری و HPC
سیستم‌‌های امبدد
علوم شناختی
دیتاست
رویدادها
جیتکس
کاربردهای هوش مصنوعی
کتابخانه
اشخاص
شرکت‌های هوش مصنوعی
محصولات و مدل‌های هوش مصنوعی
مفاهیم
کسب‌و‌کار
تحلیل بازارهای هوش مصنوعی
کارآفرینی
هوش مصنوعی در ایران
هوش مصنوعی در جهان
مقاله
 معرفی یادگیری عصبی ساماندهی شده در کتابخانه تنسورفلو

معرفی یادگیری عصبی ساماندهی شده در کتابخانه تنسورفلو

زمان مطالعه: 3 دقیقه
مقاله حاضر بر آن است تا یادگیری عصبی ساماندهی شده در کتابخانه تنسورفلو را معرفی کرده و جزئیات آن را تشریح کند. «TensorFlow» یک چارچوب ساده است که افراد حرفه‌ای و تازه‌کار می‌توانند از آن برای آموزش
شبکه‌های عصبی با سیگنال‌های ساماندهی شده استفاده کنند.

یادگیری عصبی ساماندهی شده

یادگیری عصبی ساماندهی شده  Neural Structured Learning  (NSL) می‌تواند برای ایجاد مدل‌های دقیق و قوی در حوزه‌های بصری، درک زبانی و پیش‌بینی استفاده شود.
داده‌های ساماندهی شده کاربردهای مفیدی در خیلی از فعالیت‌های یادگیری ماشین دارند. این داده‌ها حاوی اطلاعات منطقی غنی در میان سایر نمونه‌ها هستند. برای مثال، مدل‌سازیِ شبکه‌های رونگاشت citation networks، استنتاج گراف دانش Knowledge Graph  و استدلال در خصوص ساختار زبانیِ جملات، و یادگیری اثرانگشت‌های مولکولی همگی مستلزم مدلی است که از خروجی‌های ساماندهی شده اقدام به یادگیری کند.یادگیری عصبی ساماندهی شدهاین ساختارها می‌توانند به صورت صریح و یا به صورت ضمنی ارائه شوند. استفاده از سیگنال‌های ساماندهی شده در طول آموزش این فرصت را به طراحان و توسعه‌دهندگان می‌دهد که دقت مدل بالاتری داشته باشند؛ به ویژه زمانی که میزان داده‌های برچسب زده شده نسبتاً کم باشد. آموزش با سیگنال‌های ساماندهی شده باعث ایجاد مدل‌های مقاوم تر می‌شود. این شیوه‌ها کاربرد وسیعی در گوگل دارند و نقش بزرگی در بهبود عملکرد مدل ایفا می‌کنند؛ مثل یادگیری تعبیه شده معنایی تصاویر  learning image semantic embedding.
یادگیری عصبی ساماندهی شده (NSL) یک چارچوب منبع باز برای آموزش شبکه‌های عصبی عمیق با سیگنال‌های ساماندهی شده است. این چارچوب «یادگیری عصبی گرافی» را اجرا می‌کند.
این نوع یادگیری به توسعه‌دهندگان امکانِ آموزش شبکه‌های عصبی با استفاده از گرافی را می‌دهد. این گراف‌ها می‌توانند از منابع مختلفی به دست بیایند؛ از جمله این گراف‌ها می‌توان به گراف‌های «Knowledge»، داده‌های آرشیو پزشکی، داده‌های ژنومی یا روابط چندوجهی اشاره کرد. همچنین NSL از یادگیری تخاصمی  Adversarial Learning استفاده می‌کند که طی آن، ساختارِ میان نمونه‌های ورودی به صورت پویا و با استفاده از آشفتگی تخاصمی ساخته می‌شوند. NSL این فرصت را به کاربران «TensorFlow» می‌دهد تا به راحتی از سیگنال‌های ساماندهی شدۀ گوناگون برای آموزش شبکه‌های عصبی استفاده کنند. این نوع یادگیری در سناریوهای یادگیری مختلف قابل استفاده می‌باشد.

یادگیری عصبی ساماندهی شده (NSL) چگونه کار می‌کند؟یادگیری عصبی ساماندهی شده (NSL)

در یادگیری عصبی ساماندهی شده (NSL)، سیگنال‌های ساماندهی شده (که صراحتاً در قالب گراف تعریف می‌شوند یا به صورت ضمنی در قالب نمونه‌های تخاصمی استفاده می‌شوند) برای عادی‌سازیِ آموزش شبکه‌های عصبی به کار برده می‌شوند. لذا مدل تحت اجبار قرار می‌گیرد تا پیش‌بینی‌های دقیق را یاد بگیرد (بوسیله کمینه کردن supervised loss). در همین حین، شباهت میان ورودی‌های یک ساختار را نیز حفظ می‌کند (بوسیله کمینه کردن neighbor loss). این روش، یک روش متداول است و می‌تواند در معماری‌های هر شبکه عصبی دلخواه از قبیل شبکه‌های عصبی پیشرو  Feed-forward neural network، شبکه‌های عصبی پیچشی Convolutional neural network و شبکه‌های عصبی بازگشتی Recurrent neural network  بکار رود.

ساخت مدل با یادگیری عصبی ساماندهی شده (NSL)

ساخت مدل به کمک یادگیری عصبی ساماندهی شده (NSL) برای بهره‌مندی از سیگنال‌های ساماندهی شده به کار ساده‌ای تبدیل شده است. با توجه به گراف و نمونه‌های آموزش، NSL ابزاری برای پردازش و ادغام این نمونه‌ها در قالب «TFRecords» فراهم می‌کند. به مثال زیر توجه کنید:

python pack_nbrs.py --max_nbrs=5 \
labeled_data.tfr \
unlabeled_data.tfr \
graph.tsv \
merged_examples.tfr

در وهله بعد، چارچوب NSL از API برای مصرف نمونه‌های پردازش شده استفاده کرده و عادی‌سازیِ گراف را مقدور می‌سازد. بگذارید نگاهی به نمونه کُد داشته باشیم:

import neural_structured_learning as nsl# Create a custom model — sequential, functional, or subclass.
base_model = tf.keras.Sequential(…)# Wrap the custom model with graph regularization.
graph_config = nsl.configs.GraphRegConfig(
neighbor_config=nsl.configs.GraphNeighborConfig(max_neighbors=1))
graph_model = nsl.keras.GraphRegularization(base_model, graph_config)# Compile, train, and evaluate.
graph_model.compile(optimizer=’adam’,
loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=[‘accuracy’])
graph_model.fit(train_dataset, epochs=5)
graph_model.evaluate(test_dataset)

ما با کمتر از پنج خط اضافی (از جمله بخش کامنت) به یک مدل عصبی دست یافتیم که از سیگنال‌های گراف در طول آموزش استفاده می‌کند. از دید تجربی، استفاده از ساختار گرافی این امکان را به مدل‌ها می‌دهد تا بدون کاهش دقت و با داده‌های برچسب‌گذاری شده کمتری به آموزش بپردازند.

اگر ساختار صریحی در کار نباشد، چه باید کرد؟

اگر ساختارهای صریح (مثل گراف) وجود نداشته باشند، چه رویکردی باید در پیش گرفت؟ چارچوبِ NSL ابزارهایی را در اختیار توسعه‌دهندگان می‌گذارد تا گراف‌هایی را از داده‌های خام بسازند. در ضمن، چارچوب NSL با فراهم آوردنِ API زمینه را برای استنتاج نمونه‌های تخاصمی در قالب سیگنال‌های ساماندهی شدۀ ضمنی مهیا می‌کند. نمونه‌های تخاصمی به صورت تعامدی برای گیج کردن مدل ساخته می‌شوند؛ آموزش با چنین نمونه‌هایی معمولاً به مدل‌هایی ختم می‌شود که در مقابل آشفتگی‌های اندک ورودی، عملکرد قوی و خوبی از خود نشان می‌دهند. در نمونه کُد زیر می‌بینیم که NSL چگونه امکانِ آموزش با نمونه‌های تخاصمی را فراهم می‌کند:

import neural_structured_learning as nsl# Create a base model — sequential, functional, or subclass.
model = tf.keras.Sequential(…)# Wrap the model with adversarial regularization.
adv_config = nsl.configs.make_adv_reg_config(multiplier=0.2, adv_step_size=0.05)
adv_model = nsl.keras.AdversarialRegularization(model,
adv_config=adv_config)# Compile, train, and evaluate.
adv_model.compile(optimizer=’adam’,
loss=’sparse_categorical_crossentropy’, metrics=[‘accuracy’])
adv_model.fit({‘feature’: x_train, ‘label’: y_train}, epochs=5) adv_model.evaluate({‘feature’: x_test, ‘label’: y_test})

ما با کمتر از پنج خط اضافی (از جمله بخش کامنت) به یک مدل عصبی دست یافتیم که با نمونه‌های تخاصمی آموزش دیده و یک ساختار ضمنی ارائه می‌کند. از دید تجربی، مدل‌های آموزش داده شده بدون نمونه‌های تخاصمی دقت خیلی پایینی دارند.

میانگین امتیاز / 5. تعداد ارا :

مطالب پیشنهادی مرتبط

اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
[wpforms id="48325"]