Machine Learning Canvas

  • یوسف مهرداد بی‌بالان

Machine Learning Canvas: A framework to connect the dots between data collection, machine learning, and value creation.

Reference: www.medium.com

For more information, see this GitHub repository: Louis Erard/Machine-Learning-Starter-Kit.

نصیحت اسکرامی پدرخوانده

  • یوسف مهرداد بی‌بالان

پیش‌گفتار:
در صحنه‌ای از فیلم پدرخوانده یک، دن کورلئونه رو به مایکل می‌کند و می‌گوید: “گوش کن! هرکسی اومد پیش‌ت و پیشنهاد داد با بارزینی جلسه بذاری، بدون که بهت خیانت کرده. این رو فراموش نکن. “

 

خاطره:
داشتم با یکی از دوستان عزیزم در مورد مسیر و روش استفاده از اسکرام در تیم‌شان صحبت می‌کردم و در تلاش بودم تا در پاسخ به پرسش‌هایش سرنخ‌ها را به صورت کوتاه و مفید برایش بیان کنم. جلسه هم به این شکل پیش می‌رفت که ابتدا ایشان در مورد بعضی از مسائل و برداشت‌هایشان توضیح می‌دادند و در این بین، اگر نکته‌ای به ذهنم می‌رسید خدمت ایشان می‌گفتم.

این گفتگوی دوستانه ادامه داشت تا این که ایشان گفتند: “خوب! بعد از آن که داستان‌های کاربر را شناسایی کردیم، تیم آنها را به ساعت برآورد می‌کند …” [چند ساعت کار برای انجام داستان کاربر نیاز است]. به ناگاه یاد این نصیحت دن کورلئونه به مایکل افتادم و خنده‌ام گرفت. رو به دوست عزیزم کردم و گفتم: “هر کسی اومد پیش‌ت و پیشنهاد داد که داستان‌های کاربر رو به ساعت برآورد کنی، بدون که به اسکرام خیانت کرده. این رو فراموش نکن“. 🙂

 

منبع عکس: screenrant.com

خاطرات یک همکلاسی

  • یوسف مهرداد بی‌بالان

دلا نزد کسی بنشین، که او از دل خبر دارد.
به زیر آن درختی رو، که او گلهای تر دارد.
در این بازار عطاران، مرو هر سو چو بیکاران
به دکان کسی بنشین، که در دکان شکر دارد.

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

بر این رواق زبرجد نوشته‌اند به زر
که جز نکویی اهل کرم نخواهد ماند

کلاس استاد پنج‌شنبه ها از صبح تا ظهر برگزار می‌شد و تا آنجا که در خاطر دارم تعداد دانشجویان بسیار زیاد بود. استاد معمولا برای تلطیف فضای کلاس گاهگاهی طنز و خنده را چاشنی آموزش می‌کردند. هنری که تاثیر آن شگرف بود. در یکی از همین سخنان آمیخته با طنز استاد گفتند: “این آقای دکتر ثانی شما هم ما رو آورده سر این کلاس، من هم فکر می‌کردم سی نفر دانشجو باشند. حالا می‌بینم شصت نفر دانشجو سر کلاسند. فکر من پیرمرد رو نمی‌کنه آخه. من با این آقای دکتر ثانی شما هم کلاس بودم، فقط ایشون می‌نشستند و من می‌ایستادم”. خنده‌ای سراسر کلاس را فرا گرفت چرا که همه می‌دانستیم که آقای دکتر ثانی شاگرد ایشان بودند. بله، من هم با استاد روحانی رانکوهی هم‌کلاس بودم، فقط من می‌نشستم و ایشان بزرگوارانه می‌ایستادند. اینکه واژه‌ی همکلاسی را که در این متن برگزیدم در واقع گرته‌برداری از کلام خود استاد بود در توصیف جایگاه شاگردی‌ام. به گمانم پس از این همه سال، تاثیر عاطفی و احساسی آن کلاس درس برایم جلوه‌گرتر است از آموزش‌های فنی که در کلاس دیدم و هنوز روزانه در امور حرفه‌ای با آنها مانوس و مشغولم. لذا همکلاسی بودن بهتر از هر واژه‌ای بیانگر احساسات درونی من از آن کلاس است.
استاد عزیزم جناب آقای مهندس ابطحی امر کردند که یادداشتی برای بزرگداشت این استاد فرهیخته بنویسم. به خود گفتم که عرصه‌ی سیمرغ نه جولانگه توست. اندیشیدم که وصف جایگاه رفیع این استاد در کلام من گنجایی ندارد، با این همه دل گفت:
آب دریا را اگر نتوان کشید
هم به قدر تشنگی باید چشید

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

جمع صورت با چنین معنای ژرف
می نیاید جز ز سلطانی شگرف

آشنایی با استاد برجسته‌ای در کامپیوتر آن هم از زادگاه، خطه‌ی رودسر، برای منِ جوانِ عاشق نرم‌افزاربی گمان نوعی نمایی شدن تابع انگیزه‌ بود. استاد زاده‌ی “رانکوه” شهری از شهرستان‌ رودسر بود و من هم جوانی از “بی‌بالان” رودسر. حدس می‌زدم از پسوند نام خانوادگی من- “بی‌بالان”- استاد می‌دانند که من هم رودسری هستم، اما مطمئن نبودم.
یادم هست که به رسم مالوفِ دانشجویان، کلاس‌های صبح و بیش از آنها، کلاس پنج‌شنبه‌ها که دانشگاه تعطیل بود، جای مناسبی برای چرت زدن‌ها بود و حواس‌پرتی‌ها. با این حال، هیچ‌کس نه می‌توانست و نه زَهره و نه تمایل به چرت زدن در کلاس پایگاه داده را داشت. کلاس‌ ما در یکی از کلاس‌های درس ساختمان ابن سینای شریف برگزار می‌شد. اتاقی بزرگ و شیب‌دار که تخته سیاه در گودی کلاس قرار گرفته بود. استاد یک بار هنگام تدریس به‌ ناگاه با سرعت تمام از جلوی تابلو تا انتهای کلاس را دویدند. نمی‌دانم چند نفر از همکلاسی‌ها چرت‌شان پاره شد!
کسانی که استاد را می‌شناسند می‌دانند که ایشان تسلط بی‌نظیری در برگردان‌ فارسی واژگان حوزه‌ی کامپیوتر دارند. با این پیش‌زمینه، یادم هست یک بار روی تابلو نوشتند database و با کمی فاصله نوشتند “پایگاه داده” ( درست خاطرم نیست، شاید هم نوشتند بانک اطلاعاتی). بعد حرف‌شان را ادامه دادند. “بچه‌ها این کلمه [اشاره به پایگاه داده] زبان مادری است.” و زیر آن نوشتند مادری. بعد ادامه دادند “این یکی [اشاره به database] زبان مادرجانی است” روی کلمه‌ی جان تاکید کردند و زیر آن نوشتند مادرجانی. و ادامه دادند “خوب معلوم هست که مادرجانی از مادری عزیزتره؛ خوب چرا؟ بدیهی هست! چون آخرش «جان» داره. «جان» هم وقته به کار می‌بریم که خیلی برای ما عزیز باشه”.اگر چه همه ما آن روز به این بیان شیرین استاد خندیدیم، اما بعدها دانستم که ما به جای خنده باید بر آنچه بر ادبیات پارسی می گذرد می‌گریستیم. استاد نازنین! امروز دیگر database از زبان “مادرجانی” فراتر رفته و زبان “عزیزتر از جان” شده است. با این همه تاثیر این دغدغه استاد برای من این شد که همواره کوشیده‌ام که تا جای ممکن از واژگان پارسی در نوشتار تخصصی استفاده کنم.
بیش از دو دهه از زمان آن کلاس من با استاد می‌گذرد ولی کماکان دلم برای نوشته‌های استاد روی تخته‌ی سیاه تنگ می‌شود. پیش‌نیاز دنبال کردن درس و برداشت یاداشت از مطالب کلاس این بود که یک لحظه از استاد و تخته‌ سیاه کلاس غافل نشوی؛ یک لحظه غفلت همان و گم کردن سررشته درس همان. به عنوان مثالی بر این امر، فرض کنید استاد مشغول نوشتن مطلبی در گوشه‌ی راست بالای تابلو بودند، با کمبود فضای لازم برای نوشت ناگهان با یک فلش بسیار بلند کج معوج مطلب را در گوشه‌ی چپ پایین تابلو ادامه می‌دادند، بعد یک فلش بلند کج معوج دیگر ادامه مطلب را به گوشه چپ بالای تابلو جابجا می‌کرد. گاهی از راست به چپ، گاهی از بالا به پایین می‌نوشتند. به فرمایش مولانا در وصف حال دلداگی و تشبیه به حرکات مهره‌های شطرنج:
گاه چون رخ رفته بالا تا نشیب
گاه چون پیلی برفته بر اریب

چقدر برای کلاس‌شان دلتنگم. دریغ و صد افسوس که نتوانستم تصویر آن لحظات دل انگیزرا جز در مغز و لوح خاطر بر صفحه دیگری نقش کنم.
بعد از اتمام تحصیلات، تا مدت‌ها هر وقت به دانشگاه می‌رفتم یا کلاسی در آنجا داشتم، یکی از دل‌خوشی‌ها و تجدید خاطراتم از کلاس درس استاد این بود که می‌رفتم به ساختمان ابن سینا، درب کلاس را باز می‌کردم و به بالای تابلو نگاه می‌کردم تا ببینم نوشته‌ی استاد هنوز باقی است یا نه. داستان از این قرار بود که یک بار استاد موقع نوشتن مطالب درسی و با پر شدن تمامی صفحه تابلو، به یک باره صندلی ویژه اساتید را جلوی تخته گذاشته، بر روی آن رفتند و با ترسیم یک فلش به فضای بالای تخته، مطلب بعدی را بر روی دیوار نوشتند. من لبخندی زدم بی‌آن که بدانم چه تحولی در نگاه من به آموزش در حال شکل‌گیری است.
روز امتحان پایانی درس که در یک سالن خیلی بزرگ (ساختمان تالارها) برگزار می‌شد، موقع پاسخ‌گویی به پرسش‌ها، یکی از پرسش‌ها را درست متوجه نشدم. با خود گفتم از استاد راهنمایی بگیرم که منظور این پرسش چیست. دستم را بلند کردم و منتظر ماندم. آمدند بالای سرم. از استاد پرسیدم که منظور این پرسش را متوجه نشده‌ام. یک باره استاد رو به همه کردند و با صدای بلند گفتند: “بچه‌ها این می‌گه منظور این سوال چیه، برای این سوال باید …”. بعد راهنمایی کردند که چگونه به سوال پاسخ بدهیم. بعد رو کردند به من با صدای خیلی آرام و با خنده گفتند: “می‌خواستی همشهری بازی در بیاری؟”. من هم خندیدم و با خوشحالی به پاسخگویی ادامه دادم. چه افتخار بزرگی: همشهری استاد، همکلاسی استاد! جوانی است دیگر! بعدها به این نتیجه رسیدم که چقدر جالب! استاد هم مرا راهنمایی کردند که چگونه به سوال جواب بدهم و هم عدالت را در مورد بقیه‌ی شاگردان رعایت کردند. دست مریزاد استاد! امروز بر این باورم که همشهری بودن با استاد برای من اعتباری به همراه نخواهد داشت اما همکلاسی بودن با او، بی‌شک یکی از بزرگ‌ترین موهبت‌ها و افتخارات زندگی من بوده است.
به راستی چگونه می‌توان در کنار این همه دستاوردهای آموزشی، تالیف منابع تخصصی و برگردان واژگان به فارسی، بر قلب و روان دانشجویان نفوذ کرد؟ ذهن من در یادآوری گذشته عملکرد بسیار ضعیفی دارد، با این همه واقعا برای من شگفت‌آور است که این همه اطلاعات و خاطرات از آن کلاس و آن انسان فرهیخته را چگونه در خود محفوظ و تازه نگاه داشته است. شاید باورش سخت باشد ولی درست 25 سال از زمان آن کلاس می‌گذرد.
این خاطرات را بازگو کردم تا بگویم که آموزگاری وسعتی دارد بالاتر از دانش و انتقال آن به آموزندگان. جایی که هنرِ آموزگاری با بزرگواری و مهر و شخصیتِ آموزگار گره می‌خورد و بر قلب‌ها می‌نشیند. خواستم بگویم که کوچکترین مهربانی‌ها در ضعیف‌ترین حافظه‌ها جاودان می‌شود. دایره بزرگواری انسانهای والا با همه‌ی ناکرانمندی، دلها را در کمند خود چون نقطه پرگار دوره می‌کند و بر خاطرها نقش ابدی می‌زند. خلاصه آن که:

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

برای استاد ارجمند، آقای روحانی رانکوهی بهترین‌ها را آرزومندم و از ایشان صمیمانه سپاسگزارم. ایام به کامشان باد و باده توفیق در جامشان.

 

مولانا و علم داده

  • یوسف مهرداد بی‌بالان

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

یکی از این طیف مساله‌ها، کاربرد یادگیری ماشین در ادبیات فارسی است. عزیزانی که با یادگیری ماشین آشنایی دارند بی‌شک می‌دانند که چقدر مساله‌های جالب می‌توان از کاربرد یادگیری ماشین در این حوزه تعریف کرد که به شناخت و گسترش آن کمک کند.

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

یکی از مساله‌های مهمی که با آن برخورد کردم، نبود کتابخانه‌ها و مدل‌های آموزش‌دیده (trained model) برای زبان فارسی بود. امیدوارم که روز به روز به تعداد این کتابخانه‌ها و مدل‌ها افزوده شود. با خود فکر می‌کردم چقدر کارهایی جالب بین رشته‌ای می‌توان در حوزه‌ی ادبیات فارسی و علوم داده تعریف کرد.

نومید نیم گرچه ز من ببریدی
یا بر سر من یار دگر بگزیدی
تا جان دارم غم تو خواهم خوردن
بسیار امیدهاست در نومیدی

تا یادم نرفته عرض کنم که سایت گنجور از سایت‌های مورد علاقه‌ی من است. قدردان زحمات بنیانگذار و همه‌ی دست‌اندرکاران آن هستم. پاینده باشید.

 

گزیده:
تا در طلب گوهر کانی کانی
تا در هوس لقمهٔ نانی نانی
این نکتهٔ رمز اگر بدانی دانی
هر چیزی که در جستن آنی آنی

منابع پیشنهادی برای یادگیری ماشین

  • یوسف مهرداد بی‌بالان

The MIT Open Learning Library: 6.036, Introduction to Machine Learning, 2020 (Link)

MIT 6.S191: Intro to Deep Learning, (introtodeeplearning.com)

لیکن من نمی‌دانم

  • یوسف مهرداد بی‌بالان

چه دانستم که این سودا مرا زین سان کند مجنون دلم را دوزخی سازد دو چشمم را کند جیحون

چه دانستم که سیلابی مرا ناگاه برباید چو کشتی ام دراندازد میان قلزم پرخون

زند موجی بر آن کشتی که تخته تخته بشکافد که هر تخته فروریزد ز گردش‌های گوناگون

نهنگی هم برآرد سر خورد آن آب دریا را چنان دریای بی‌پایان شود بی‌آب چون هامون

شکافد نیز آن هامون نهنگ بحرفرسا را کشد در قعر ناگاهان به دست قهر چون قارون

چو این تبدیل‌ها آمد نه هامون ماند و نه دریا چه دانم من دگر چون شد که چون غرق است در بی‌چون

چه دانم‌های بسیار است لیکن من نمی‌دانم که خوردم از دهان بندی در آن دریا کفی افیون

 

گزیده:

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

 

Neural Network Activation Functions

  • یوسف مهرداد بی‌بالان

Which activation function should you use for the hidden layers of your deep neural networks?

Although your mileage will vary, in general SELU > ELU > leaky ReLU (and its variants) > ReLU > tanh > logistic.

If the network’s architecture prevents it from self-normalizing, then ELU may perform better than SELU (since SELU is not smooth at z = 0).

If you care a lot about runtime latency, then you may prefer leaky ReLU.

If you don’t want to tweak yet another hyperparameter, you may use the default α values used by Keras (e.g., 0.3 for leaky ReLU).

If you have spare time and computing power, you can use cross-validation to evaluate other activation functions, such as RReLU if your network is overfitting or PReLU if you have a huge training set.

That said, because ReLU is the most used activation function (by far), many libraries and hardware accelerators provide ReLU-specific optimizations; therefore, if speed is your priority, ReLU might still be the best choice.

Reference: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition, by Aurélien Géron, Sep 2019

برای خروج از جستجو کلید ESC را بفشارید