কীভাবে গভীর নেটওয়ার্কের এলএসটিএম স্তরকে প্রশিক্ষণ দেওয়া যায়


13

পাঠ্যের শ্রেণিবদ্ধকরণের জন্য আমি একটি lstm এবং ফিড-ফরোয়ার্ড নেটওয়ার্ক ব্যবহার করছি।

আমি পাঠ্যটিকে এক-গরম ভেক্টরগুলিতে রূপান্তর করি এবং প্রতিটিকে lstm এ ফিড করি যাতে আমি এটির একক উপস্থাপনা হিসাবে সংক্ষিপ্ত করতে পারি। তারপরে আমি এটি অন্য নেটওয়ার্কে ফিড করব।

তবে আমি কীভাবে প্রশিক্ষণ দেব? আমি কেবল পাঠ্যটিকে শ্রেণিবদ্ধ করতে চাই - আমি কি প্রশিক্ষণ ছাড়াই এটি খাওয়াতে পারি? আমি কেবল একক আইটেম হিসাবে উত্তরণটি উপস্থাপন করতে চাই যা আমি শ্রেণিবদ্ধের ইনপুট স্তরটিতে খাওয়াতে পারি।

আমি এই সঙ্গে কোন পরামর্শ প্রশংসা করি!

হালনাগাদ:

সুতরাং আমি একটি lstm এবং একটি শ্রেণিবদ্ধ আছে। আমি lstm এর সমস্ত আউটপুট নিই এবং সেগুলি পুল করি, তারপরে আমি সেই গড়টি শ্রেণিবদ্ধে ফিড করি।

আমার সমস্যাটি হল আমি কীভাবে এলএসটিএম বা শ্রেণিবদ্ধ প্রশিক্ষণ দিতে জানি না। আমি জানি যে lstm এর জন্য কী ইনপুট হওয়া উচিত এবং সেই ইনপুটটির জন্য শ্রেণিবদ্ধের আউটপুট কী হওয়া উচিত। যেহেতু এগুলি দুটি পৃথক নেটওয়ার্ক যা কেবলমাত্র ক্রমানুসারে সক্রিয় করা হচ্ছে, তাই আমার জানতে হবে এবং lstm এর জন্য আদর্শ-আউটপুটটি কী হওয়া উচিত তা আমার জানা উচিত নয়, যা শ্রেণিবদ্ধের জন্য ইনপুটও হবে। এই কাজ করতে একটি উপায় আছে কি?

উত্তর:


10

এলএসটিএমগুলির সাথে শুরু করার সেরা জায়গাটি হ'ল এ কার্পথি http://karpathy.github.io/2015/05/21/rnn-efftivity/ এর ব্লগ পোস্ট । আপনি যদি টর্চ 7 ব্যবহার করছেন (যা আমি দৃ suggest়ভাবে প্রস্তাব দিই) সোর্স কোডটি গিথুব https://github.com/karpathy/char-rnn এ উপলব্ধ ।

আমি আপনার মডেলটি কিছুটা পরিবর্তন করার চেষ্টা করব। আমি একাধিক টু ওয়ান পদ্ধতির ব্যবহার করব যাতে আপনি একটি সন্ধানের টেবিলের মাধ্যমে শব্দগুলি ইনপুট করুন এবং প্রতিটি অনুক্রমের শেষে একটি বিশেষ শব্দ যুক্ত করুন, যাতে আপনি "অনুক্রমের শেষ" চিহ্নটি ইনপুট করলেই আপনি শ্রেণিবিন্যাসটি পড়তে পারবেন আপনার প্রশিক্ষণের মানদণ্ডের উপর ভিত্তি করে আউটপুট এবং ত্রুটি গণনা করুন। এইভাবে আপনি সরাসরি তদারকি করা প্রসঙ্গে প্রশিক্ষণ দিতেন।

অন্যদিকে, আপনার ইনপুট পাঠ্যের জন্য বৈশিষ্ট্যগুলি বের করতে এবং তারপরে আপনার বৈশিষ্ট্যগুলির শীর্ষে একটি শ্রেণিবদ্ধ চালানোর জন্য একটি সহজ পদ্ধিতি হল অনুচ্ছেদ 2vec ( https://radimrehurek.com/gensim/models/doc2vec.html ) ব্যবহার করা । অনুচ্ছেদে ভেক্টর বৈশিষ্ট্য নিষ্কাশন খুব সহজ এবং অজগরটিতে এটি হবে:

class LabeledLineSentence(object):
    def __init__(self, filename):
        self.filename = filename

    def __iter__(self):
        for uid, line in enumerate(open(self.filename)):
            yield LabeledSentence(words=line.split(), labels=['TXT_%s' % uid])

sentences = LabeledLineSentence('your_text.txt')

model = Doc2Vec(alpha=0.025, min_alpha=0.025, size=50, window=5, min_count=5, dm=1, workers=8, sample=1e-5)
model.build_vocab(sentences)

for epoch in range(epochs):
    try:
        model.train(sentences)
    except (KeyboardInterrupt, SystemExit):
        break

জবাব দেওয়ার জন্য আপনাকে ধন্যবাদ। আমি তাদের বিবেচনা করব। আমার প্রশ্নে নির্দিষ্ট ইস্যু সম্পর্কে আপনার কোনও পরামর্শ আছে- আমি এটি আপডেট করেছি।
ওয়ার্ডস্মিত

আমি মনে করি না যে আপনার বর্ণিত পদ্ধতিতে কোনও ফলাফল হবে। আপনি এলএসটিএম এর বিরুদ্ধে কোন প্রশিক্ষণ দেবেন? আমি নিশ্চিত নই যে আমি কেন পুরো ক্ষেত্রে পুরো বাক্যটির জন্য নিরীক্ষণযোগ্য বৈশিষ্ট্য শেখার জন্য এই ক্ষেত্রে একটি এলএসটিএম ব্যবহার করব understand আমি আপনাকে সাহায্য করতে পারে আপনার যোগাযোগের কোন প্রাসঙ্গিক সাহিত্য আছে? এটি আপনার আগ্রহের পাশাপাশি হতে পারে arxiv.org/abs/1306.3584
ইয়ান্নিস Assael

আমি পাঠ্য এবং তাদের ক্লাসের অতীত উত্তরণগুলির ডেটা সেটের ভিত্তিতে lstm প্রশিক্ষণ দেব। আমি নিরীক্ষণযোগ্য শেখার ব্যবহার করার ইচ্ছা করি না। আমি নিজে এটি প্রশিক্ষণ দিতে চাই, তবে কীভাবে তা জানি না। এখানে আমি মেশিন-লার্নিং লাইব্রেরি ছাড়া lstm এবং শ্রেণিবদ্ধের বাস্তবায়ন করছি, যা আমি জানি যে কাজ করে: পেস্টবিন .com/63Cqrnef lstm ডিপ অ্যাক্টিভেটের একটি ফাংশন রয়েছে যা lstm সক্রিয় করে এবং তারপরে ক্লাসিফায়ার হিসাবে আমি আমার কুইকিটোনটিতে উল্লেখ করেছি। আমি যা বাস্তবায়নের চেষ্টা করছি তার মতো কিছু এখানে রয়েছে: ডিপলাইনিং.নাট
টিউটোরিয়াল

তবে যখন আমি তাদের উভয়কেই একটি নেটওয়ার্ক হিসাবে সক্রিয় করার চেষ্টা করেছি, তখন আমি প্রতিটি আউটপুট স্তর থেকে অপরিজ্ঞাত হয়ে পড়েছিলাম। তার সম্পর্কে এখানে আরও রয়েছে: stats.stackexchange.com/q/159922/81435
স্মিথ

1
আপনাকে অনেক ধন্যবাদ! আপনি প্রয়োজনের তুলনায় অনেক বেশি সহায়তা দিয়েছেন। উপরে এবং অতিক্রম করার জন্য ধন্যবাদ।
ওয়ার্ডস্মিত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.