একটি প্রশ্ন আছে? টেনসরফ্লো ফোরাম ভিজিট ফোরামের সম্প্রদায়ের সাথে সংযুক্ত হন

নিউরাল স্ট্রাকচার্ড লার্নিং: স্ট্রাকচার্ড সিগন্যাল দিয়ে প্রশিক্ষণ

নিউরাল স্ট্রাকচার্ড লার্নিং (এনএসএল) ফিচার ইনপুট ছাড়াও স্ট্রাকচার্ড সিগন্যালকে কাজে লাগিয়ে নিউরাল নেটওয়ার্কগুলি প্রশিক্ষণের জন্য একটি নতুন শিক্ষণ দৃষ্টান্ত। কাঠামোগুলি কোনও গ্রাফ দ্বারা প্রতিনিধিত্বমূলক বা অ্যাডভারসিয়াল পার্টিউটনিজ দ্বারা প্ররোচিত হিসাবে অন্তর্নিহিত হতে পারে।

কাঠামোগত সংকেতগুলি সাধারণত লেবেলযুক্ত বা লেবেলযুক্ত এমন নমুনাগুলির মধ্যে সম্পর্ক বা মিলের প্রতিনিধিত্ব করতে ব্যবহৃত হয়। অতএব, নিউরাল নেটওয়ার্ক প্রশিক্ষণের সময় এই সংকেতগুলিকে উপকৃত করা লেবেলযুক্ত এবং লেবেলযুক্ত উভয় ডেটাই ব্যবহার করে, যা মডেল নির্ভুলতার উন্নতি করতে পারে, বিশেষত যখন লেবেলযুক্ত ডেটার পরিমাণ তুলনামূলকভাবে কম হয় । অতিরিক্তভাবে, অ্যাডভারসিয়াল পার্টিউটনিজ যুক্ত করে উত্পন্ন নমুনাগুলি দ্বারা প্রশিক্ষিত মডেলগুলি দূষিত আক্রমণগুলির বিরুদ্ধে শক্তিশালী হিসাবে দেখানো হয়েছে, যা কোনও মডেলের ভবিষ্যদ্বাণী বা শ্রেণিবিন্যাসকে বিভ্রান্ত করার জন্য ডিজাইন করা হয়েছে।

এনএসএল নিউরাল গ্রাফ শেখার পাশাপাশি অ্যাডভারসিয়াল লার্নিংকে সাধারণীকরণ করে। টেনসরফ্লোতে এনএসএল কাঠামোটি বিকাশকারীদের কাঠামোগত সংকেত সহ মডেলগুলি প্রশিক্ষণের জন্য নিম্নলিখিত সহজেই ব্যবহারযোগ্য এপিআই এবং সরঞ্জাম সরবরাহ করে:

  • গ্রাফগুলি (সুস্পষ্ট কাঠামো) এবং অ্যাডভারসিয়াল পার্টবুরেশনের (অন্তর্নির্মিত কাঠামো) প্রশিক্ষণ সক্ষম করতে কেরাস এপিআইগুলি
  • নিম্ন-স্তরের টেনসরফ্লো এপিআই ব্যবহার করার সময় কাঠামোর সাথে প্রশিক্ষণ সক্ষম করার জন্য টিএফ অপস এবং ফাংশন
  • প্রশিক্ষণের জন্য গ্রাফ তৈরি এবং গ্রাফ ইনপুটগুলি নির্মাণের সরঞ্জাম

সংযুক্ত কাঠামোগত সংকেতগুলি কেবল প্রশিক্ষণের সময় করা হয়। সুতরাং, পরিবেশন / অনুমান কর্মপ্রবাহের কর্মক্ষমতা অপরিবর্তিত রয়েছে। নিউরাল স্ট্রাকচার্ড লার্নিং সম্পর্কে আরও তথ্য আমাদের কাঠামোর বিবরণে পাওয়া যাবে। শুরু করার জন্য, দয়া করে আমাদের ইনস্টল গাইডটি দেখুন এবং এনএসএলের ব্যবহারিক পরিচিতির জন্য আমাদের টিউটোরিয়ালগুলি দেখুন।

import tensorflow as tf
import neural_structured_learning as nsl

# Prepare data.
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# Create a base model -- sequential, functional, or subclass.
model = tf.keras.Sequential([
    tf.keras.Input((28, 28), name='feature'),
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation=tf.nn.relu),
    tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])

# 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}, batch_size=32, epochs=5)
adv_model.evaluate({'feature': x_test, 'label': y_test})