تعزيز التعلم كيفية تكون عن دهشتها مع أنه لعب مباريات؟

الكاتب | حسنا موري فورت

ذبيان | قوه روي

الوقت الذباب Riyuerusuo، 9012 في هذه المسألة قد ذهب، حتى الآن فقط سحب أحد المارة في الشارع، سمعت AlphaGo، AlphaGo صفر.

مارس 2016، أعلنت شركة جوجل AlphaGo هزم كبار الإنسان اللاعبين العودة لي سي دول، وأكل البطيخ يرتجف الجماهير الذين لديهم خوف من الذكاء الاصطناعي للاحتلال البشرية هزيمة في العالم. بعد أن أطلقت جوجل AlphaGo صفر، AlphaGo من قبل نقوله هو مجرد شقيقه الأصغر.

هذه الخوارزميات البرمجيات هما جوهر الدراسة المكثفة، تريد هذه المقالة لمساعدتك في إدارة الجغرافيا سطحية، الفراء محة تعزيز التعلم. هذه المقالة سوف أعرض المفاهيم الأساسية للتعلم، وكذلك لتعزيز الأساسي التدرج سياسة دخول الخوارزمية، في حين تستخدم هذه الخوارزمية لتدريب نموذج للعب لعبة صغيرة. ونحن، من خلال شرح مفصل للسماح تعلم الجميع يعرف التعزيز، جنبا إلى جنب مع رمز للقراءة للغاية.

تعزيز التعلم أساسيات

تعزيز التعلم هو خوارزمية التي تسمح للجهاز من أي شيء ابتداء سوف، من خلال التعلم المستمر لتصل في النهاية إلى هدف معين. عملية التعلم، واصلت آلة إلى التجربة والخطأ، وقد ستعطى بيئة تعلم ممارسة العقاب وفقا للآلة أو الإثارة الجهاز وفقا للبيئة لردود الفعل وباستمرار عملت بها في الطريق الصحيح لتحقيق الأهداف.

على سبيل المثال، مثل معلم للأطفال تعليم الرياضيات، وبدأ الأطفال شيئا لن، المعلم السماح للأطفال تواصل القيام الحسابي، والأطفال إجابة جيدة، وقدم المعلم له الحلوى، والأطفال كان الجواب الفقيرة، المعلم انتقدت بشدة له. ولكن في هذه العملية، والمعلم لم اقول بشكل مباشر على الأطفال كيفية الإجابة، يمكن أن يتعلم الأطفال فقط الحسابي بناء على رد فعل المعلم، مع مرور الوقت، فإن الأطفال يتذكرون ما يجب القيام به للحصول على السكر في نفس الوقت تجنب توبيخ، وأخيرا تحقيق الهدف لتعلم الحساب.

عدة عوامل التعلم التعزيز: وكيل والبيئة والدولة، والعمل، ومكافأة. في المثال أعلاه، والطفل هو وكيل، والمعلم هو البيئة، ووضع الأطفال تفعل السؤال هو، هل سؤال على سلوك الدولة، هو أن الأطفال اتخاذ إجراءات، المعلم توبيخ أو السكر هو مكافأة.

نريد أن نعود إلى الكمبيوتر للعب مباريات لمعرفة اليوم، ونحن اليوم تريد أن تلعب لعبة تنس الطاولة، يمكن العثور على البيئة لعبة في موقع الويب التالي: الشبكي: //gym.openai.com/envs/#classic_control. هذا الرقم هو شاشة اللعبة.

لوحة اللعبة هو وكيل الحق، وكيل الإجراء الذي يمكن اتخاذه أعلى والأسفل ولا تتحرك. والهدف النهائي هو جعل الخشب المناسب يمكن أن يفوز في بطولة تنس الطاولة من الخشب اليسار، تشير الملاحظة إلى شاشة اللعبة. افيرونمينت بيئة اللعبة، لجعل كل عامل وفقا لإجراءات الدولة، ثم envrionment سيعطي الثواب والدولة بعد العمل استنادا إلى حالة والعمل الحالية.

ويمكن الاطلاع على معلومات مفصلة أكثر في موقع بيئة اللعبة المذكورة أعلاه.

تنفيذ القانون

المعالجة للدولة، ودولة صور RGB، قبل معالجة الصورة سيتم تحويلها إلى الصور الرمادية، يمكن تسريع التقارب. وفي الوقت نفسه قسم تجهيز ما قبل واقتصاص الصورة لا علاقة له، وجعل عملية التدريب أكثر استقرارا.

مواطنه prepro (س، image_size = ): ذ = 0.2126 * س + 0.7152 * س + 0.0722 * س الحجم #gray تغيير حجم = skimage.transform.resize (ذ، image_size) وحة درجة #delete np.expand_dims عودة (resized.astype (np.float32)، محور = 2) #shape (الارتفاع، wodth) - >  (1، ارتفاع، wodth)

نموذج عامل بناء، وكيل هنا مع اثنين من الشبكة العصبية مرتبطة ارتباطا كاملا لتحقيق، بالطبع، يمكنك أيضا استخدام الشبكات العصبية الإلتواء، ولكن أداء والشبكة العصبية مرتبطة بالكامل تقريبا في نهاية التدريب والإلتواء نموذج الشبكة العصبية. لراحة وبنيت لتسريع التقارب بين الغرض، اعتمدنا الشبكة العصبية مرتبطة ارتباطا كاملا.

self.model = nn.Sequential ( nn.Linear (80 * 80 * 1، 256)، nn.ReLU () nn.Linear (256، 1)، nn.Sigmoid ()

تهيئة البيئة:

init_game_setting صفر (النفس): self.last_frame = بلا مرر

عملية تنفيذ خوارزمية التدرج السياسة هي على النحو التالي:

لتحقيق الرموز التالية، راجع التعليمات البرمجية بحيث قائمة طويلة من أكثر من 130 خطوط للقانون لا داعي للذعر، نحن الانتهاء كود جيثب، وقدم كل من المتغيرات الرئيسية الإشعارات والتعليمات اللازمة، واتخاذ قليلا من الوقت لدراسة بعناية تحت، أعتقد أنك يجب أن تكون قادرا على قراءة وفهم. خدعة لاتخاذ الحد من التباين عند التحديث المعلمة تسريع وتيرة التقارب.

لحلقة في مجموعة (self.hyper_param ): س = self.env.reset () self.last_frame = prepro (س) # الأولي الإطار الأول، وإلا self.last_frame هو لا أحد العمل = self.env.action_space.sample () # عشوائية عينة دعوى للتهيئة س، _، _، _ = self.env.step (العمل) episode_r = بينما صحيح: # Make_action عودة العمل للقيام به واحتمالها. # وسائل التامة ان اللعبة قد انتهت أم لا، وإذا كان الامر قد انتهى، فإننا التحديث # المعلمات من نموذج. # عندما مكافأة! = 0، نحسب وظيفة ميزة استخدام # الخصم عامل والأساس. ووضعها على "cumulated_r" وفقا # لكل عمل. س = prepro (س) residual_state = س - self.last_frame self.last_frame = س العمل، ص = self.make_action (residual_state، اختبار = خطأ) س، مكافأة، وفعلت، _ = self.env.step (العمل) p_list.append (ع) #left لBCELoss action_list.append (العمل-2) #left لBCELoss ! إذا مكافأة = 0: # عندما يحصل شخص نقطة، المعلمة خصم إعادة تعيين، # وتسجيل التجربة # Cumulated_r يعني تجربة حتى نقطة شخص الحصول على # أيضا حساب يعني وفار للقيام مكافأة التطبيع # ويستخدم هذا العلم للمقارنة مع غراد سياسة الطبيعي إن لم يكن self.hyper_param : T = ليون (cumulated_r) لأنني في مجموعة (T): cumulated_r  + = (غاما ** (T-ط)) * مكافأة cumulated_r.append (مكافأة) reward_mean + = مجموع (cumulated_r) n_reward + = ليون (cumulated_r) لأنني في cumulated_r: reward_var + = ط ** 2 episode_r.append (cumulated_r ) total_reward.extend (cumulated_r) cumulated_r = آخر: T = ليون (cumulated_r) cumulated_r = * (T + 1) episode_r.append (cumulated_r ) total_reward.extend (cumulated_r) cumulated_r = آخر: cumulated_r.append (مكافأة) ! إذا فعلت وn_b = دفعة: n_b + 1 = self.init_game_setting () إذا ليون (lastest_r) <  30: lastest_r.append (np.sum (episode_r)) أليف ليون (lastest_r) == 30: lastest_r.pop (0) lastest_r.append (np.sum (episode_r)) self.training_curve.append (np.mean (lastest_r)) #print ( "الحلقة: د يعنيه: 4F" (حلقة، np.mean (lastest_r))، نهاية = '') استراحة أليف به وn_b == دفعة: self.init_game_setting () إذا ليون (lastest_r) <  30: lastest_r.append (np.sum (episode_r)) أليف ليون (lastest_r) == 30: lastest_r.pop (0) lastest_r.append (np.sum (episode_r)) self.training_curve.append (np.mean (lastest_r)) طباعة ( "الحلقة: د يعنيه: 4F" (حلقة، np.mean (lastest_r))، نهاية = '') #UPDATE لكل حلقة self.optimizer.zero_grad () فقدان = 0 إن لم يكن self.hyper_param : reward_mean = reward_mean / n_reward reward_stddev = (reward_var / n_reward - (reward_mean) ** 2) ** 0.5 TOTAL_REWARD = torch.Tensor (TOTAL_REWARD). ل(الجهاز) TOTAL_REWARD = (TOTAL_REWARD - reward_mean) / reward_stddev آخر: TOTAL_REWARD = torch.Tensor (TOTAL_REWARD). ل(الجهاز) action_list = torch.Tensor (action_list). ل(الجهاز) p_list = torch.stack (p_list) .view (-1) فقدان = F.binary_cross_entropy (المدخلات = p_list، الهدف = action_list، الوزن = TOTAL_REWARD، = الحد 'المبلغ') فقدان / = n_b loss.backward () self.optimizer.step () #reset كل سجل n_b = 1 n_reward = 0 reward_mean = 0 reward_var = 0 reward_stddev = 0 TOTAL_REWARD = cumulated_r = p_list = action_list = طباعة ( "الخسارة: 4F" (loss.item ())، نهاية = '\ ص') استراحة ! إذا الحلقة 500 == 0 وحلقة = 0: #Testing في 100 حلقة طباعة ( "اختبار") test_env = البيئة ( 'بونغ-V0، self.argument، اختبار = صحيح) يؤدي = draw_curve (وكيل = النفس، الحياة الفطرية = test_env) إذا كانت النتيجة > = Best_result: best_result = نتيجة torch.save (self.model "./log/"+self.hyper_param+".pkl"+str(episode)) torch.save (self.optimizer.state_dict () "./Log/"+self.hyper_param+".optim") np.save ( "training_curve _" + شارع (الحلقة) + ". نبي"، np.array (self.training_curve))

النتائج التجريبية

حتى يتسنى لنا أن نرى بصريا تعزيز التعلم كيف قوية في النهاية، ثم سننتقل من خلال نموذج تخطيطي لتظهر نتائج التدريب، حق مجلس الفيديو في وكيلنا المدربين.

هذا الرقم هو التدريب منحنى والتدريب نموذج مكافأة نيابة عن أعلى كلما كان ذلك أفضل. عندما ترون أي تخفيض زيادة التباين هذه الخدعة، ونموذج من الصعب تدريب معا، وإضافة للحد من نموذج التباين بعد هذه الحيلة ستكون قريبا قادرة على تحقيق الأداء الجيد.

المواد المرجعية

https://www.bilibili.com/video/av10590361/

رمز لهذا المقال هو شريط فيديو التدريس وظيفة أعلاه، آلة التعلم قليلا الشركاء المهتمين يمكن أن يرى. المتكلم هو الحمراء شبكة جامعة تايوان البروفيسور تشانغ إلى حد كبير، والشعور الشخصي هو من السهل جدا أن نفهم.

وأخيرا، الحب والعاطفة، جيثب إلى النجوم بخير: الشبكي: //github.com/sky1456723/Secret-MLDS-2018/blob/master/hw4/agent_dir/agent_pg.py.

المؤلف: ويلز سين فورت ومشغلي فورت لها الفرد الجمهور سين رقم حسنا، نرحب، سيتم تحديث عدد الجمهور صغيرة مثل التفكير الشركاء المعنيين من وقت لآلة تقنيات جنبا إلى جنب مع نوعية النص الخير وقراءة عالية من رمز التعلم.

تنويه: هذا تقديم المادة، يرجى عدم طبع بدون إذن.

بدا براينت دودج غرفة خلع الملابس، ويهتف فريق للمدينة

فقط فى تقرير عمل رئيس الوزراء الحكومة، يبدو

اختر دائما مناسبة فيلم الصلب سيئة؟ قد كذلك لفهم انتقال المرض!

الغذاء والدواء العلم والاستشارات الطبية، خدمات طبية مجانية ...... الناري الأنشطة بكين لى فنغ تضطلع

يانغ مي AI وجه زرع: لك تحميل الصور، التي تقوم ببيعها!

التعرض لدفع كيا KX5 الجديد 4 نماذج تأخذ 1.6T / 2.0L الطاقة

وبعد أيام قليلة أيضا تسعير ذلك؟ تسلا نموذج Y بيع المحلي من 43،5-52،6 عشرة آلاف يوان

تم تغريم الأهتزاز 5.7 مليون $ ؛؛ تسريح العمال نيتياس أبل هواوي سامسونج المصالحة | المهوسون العناوين

تذاكر اندفاع تذاكر الطيران البرمجيات ذلك؟ الذي القدرة على الأصوات انتزاع؟ قياس ثمانية اختتم APP!

مرحبا بيغ بن آند بورز، وأخيرا وضع السيارة، مع زيادة 600000 هوى انج

أيه إم دي أثلون 200GE كسر رفع تردد التشغيل 3.9GHz: خاصية تعدد التعدي i3-7100

بكين دفع "التكامل المالي والضريبي" عوائد الضرائب الرئيسية، وكلها ثلاث دقائق