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

6 134

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

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

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

محتوا پنهان
3 پرسش‌های پرتکرار

مقدمه

پیش از معرفی مسیر راه پیشنهادی خودم برای یادگیری برنامه‌نویسی و هوش مصنوعی، ذکر چند نکته را ضروری می‌دانم:

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

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

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

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

هوش مصنوعی (Artificial Intelligence) : فناوری و مجموعه‌ای از الگوریتم‌های برنامه‌نویسی که با کمک آن رایانه‌ها می‌توانند پردازش‌هایی شبیه به فرایند فکری انسان انجام دهند.

یادگیری ماشین (Machine Learning): مجموعه‌ای از الگوریتم‌های هوش مصنوعی که در آن رایانه‌ها با مشاهده‌ی داده‌های واقعی، فرایند پردازش خود را «یاد» می‌گیرند. الگوریتم‌های هوش مصنوعی که از جنس یادگیری ماشین هستند، معمولاً نیاز به کدنویسی پیچیده و طولانی ندارند. 

یادگیری عمیق (Deep Learning): پیشرفته‌ترین الگوریتم‌های یادگیری ماشین که مبتنی بر طراحی شبکه‌های عصبی هستند. شبکه‌های عصبی به مجموعه‌ای از تعداد زیادی عملیات ریاضی گفته می‌شود که به شکل موازی و توسط پردازنده‌های قدرتمند رایانه‌ای انجام می‌شوند. در بیشتر (و نه همه) موارد، نتایج حاصل از یادگیری عمیق نسبت به دیگر الگوریتم‌های یادگیری ماشین دقیق‌تر و کاربردی‌تر هستند. 

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

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

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

گام اول: با جایگاه هوش مصنوعی در علوم پزشکی و رشته‌ی خود آشنا شوید!

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

شما می‌توانید با جست‌وجوی ترکیب کردن کلیدواژه‌های رشته یا حوزه‌ی مورد علاقه‌ی خود و کلیدواژه‌های هوش مصنوعی (که در مقدمه ذکر شد) و جست‌وجو در سایت‌هایی مانند گوگل یا PubMed، بسیاری از این منابع را پیدا کنید. اگر به دنبال مطالعه‌ی کتاب هستید، Deep Medicine: How Artificial Intelligence Can Make Health Care Human Again، منبع خوبی در این رابطه است. البته انتظار نداشته باشید این کتاب به شما تکنیک‌های هوش مصنوعی را آموزش دهد، بلکه پر از نمونه‌هایی است که سعی می‌کند تا کاربردهای آن در پزشکی را برایتان تبیین کند. همچنین اگر دانشجو یا دانش‌آموخته‌ی رشته‌ی پزشکی هستید، می‌توانید به مقاله‌های زیر که تغییرات پیش روی این رشته و آموزش پزشکی را در عصر هوش مصنوعی توضیح می‌دهند، مراجعه نمایید:

کتاب مرجع - کاربرد هوش مصنوعی در پزشکی

گام دوم: کلیات زبان برنامه‌نویسی پایتون را فرا بگیرید! 

اگر قرار باشد یک زبان برنامه‌نویسی را برای فعالیت در حوزه‌ی هوش مصنوعی یاد بگیرید، آن زبان پایتون است. برنامه‌نویسی هوش مصنوعی با زبان‌های دیگری مانند R ،Swift ،Julia، C و … نیز امکان‌پذیر است اما گستردگی جامعه‌ی برنامه‌نویسان هوش مصنوعی که از زبان پایتون استفاده می‌کنند، با هیچ زبان دیگری قابل مقایسه نیست. پایتون یک زبان برنامه‌نویسی عمومی و چند منظوره است، به این معنا که با یادگیری آن می‌توانید طیفی از فعالیت‌های مختلف (از طراحی صفحات وب گرفته تا مدیریت پایگاه‌های داده و …) را انجام دهید؛ پس کاربرد آن محدود به هوش مصنوعی نیست و شما با یادگیری پایتون پا به دنیای جدیدی از مهارت‌ها خواهید گذاشت که می‌توانید برای ارتقای بهره‌وری زندگی شخصی یا کاری خود نیز از آن استفاده کنید. از سوی دیگر زبان برنامه‌نویسی پایتون به سادگی و روانی مشهور است، در نتیجه یادگیری آن به اندازه‌ی زبان‌های دیگر زمان‌بر نخواهد بود.

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

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

نقشه راه یادگیری برنامه نویسی هوش مصنوعی برای دانشجویان و دانش‌آموختگان علوم پزشکی - گام اول و دوم

گام سوم: تکنیک‌های (کتابخانه‌های تخصصی) زبان برنامه‌نویسی پایتون در حوزه‌ی علوم داده را فرا بگیرید!

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

در حقیقت شما در این گام به‌طور مستقیم دستورهای برنامه‌نویسی هوش مصنوعی را یاد نمی‌گیرید اما با سه کتابخانه‌ی بسیار کاربردی در بیشتر برنامه‌های هوش مصنوعی آشنا شده و با آن‌ها تمرین خواهید کرد. برای یادگیری این سه کتابخانه، دوره‌ها، کتاب‌ها و ویدیوهای متعددی در اینترنت موجود است، اما توصیه‌ی جدی می‌کنم که این سه کتابخانه را از کتاب Python for Data Analysis مطالعه نمایید. این کتاب بسیار کاربردی است و با ذکر نمونه‌های واقعی زیر و بم کتابخانه‌های سه‌گانه‌ی بالا را به شما آموزش خواهد داد! البته سعی کنید در جزئیات این کتاب غرق نشوید و تنها کلیات را فرا بگیرید و در آینده برای رفع اشکالات خود به آن رجوع کنید.

کتاب مرجع: کاربرد پایتون در آنالیز داده

گام چهارم: کمی (و فقط کمی) ریاضیات را مرور کنید!

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

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

گام پنجم: مفاهیم و کتابخانه‌های کاربردی یادگیری عمیق را فرا بگیرید!

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

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

برای آموختن کتابخانه‌ی FastAI کتاب بسیار شیوا و روانی به نام Deep Learning for Coders with fastai and PyTorch وجود دارد و یک دوره‌ی آنلاین و رایگان نیز دارد که نویسندگان کتاب مدرس آن هستند. توجه کنید که این مدرسان ادعا می‌کنند که برای شروع کتاب و دوره‌ی آن‌ها به هیچ چیز جز کمی تجربه‌ی برنامه‌نویسی پایتون نیاز ندارید. برای آموختن کتابخانه tensorflow.keras نیز کتاب خوبی به نام Deep Learning with Python وجود دارد که مانند کتاب پیشین کاربردی و ساده نوشته شده است. هر دوی این کتاب‌ها هم مفاهیم یادگیری عمیق را به شما معرفی می‌کنند و هم تکنیک‌های برنامه‌نویسی آن را با ذکر نمونه‌های متعدد آموزش می‌دهند.

کتاب مرجع: آموزش برنامه‌نویسی با کتابخانه‌های عمومی پایتون

کتاب Deep Learning with Python اولین کتابی بود که من در حوزه‌ی هوش مصنوعی خواندم و اگر چه از آن لذت بردم، اما به شما توصیه می‌کنم که کتابخانه‌ی FastAI و منابع آن (کتاب و دوره) را اولویت دهید. کتاب FastAI ساده‌تر و کاربردی‌تر است و برای شروع یادگیری هوش مصنوعی منبع به مراتب بهتری است. همچنین اگر می‌خواهید تنها برای یکی از این کتابخانه‌ها وقت بگذارید، بی‌شک سراغ FastAI بروید!

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

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

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

گام ششم: مفاهیم و کتابخانه‌های یادگیری ماشین (به جز یادگیری عمیق) را فرا بگیرید! (اختیاری)

پس از آنکه مدتی را صرف یادگیری و تمرین کردن با کتابخانه‌های سطح بالای یادگیری عمیق کردید، احتمالاً آن‌قدر به هوش مصنوعی مسلط شده‌اید که هم بتوانید برای خودتان پروژه‌های واقعی فراهم کنید و هم خودتان گام بعدی مسیر مطالعه‌تان را مشخص کنید. بنابراین آنچه از این به بعد می‌گویم، بیش از پیش شکل توصیه و انتقال تجربه به خود می‌گیرد. آنچه برای گام ششم پیشنهاد می‌دهم، مطالعه‌ی بخش اول (و نه تمام بخش‌های) کتاب Hands-On Machine Learning with Scikit-learn, Tensorflow and Keras است. این بخش کاربردی از کتاب بالا شما را با دیگر تکنیک‌های یادگیری ماشین (به جز یادگیری عمیق) آشنا می‌کند.

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

شاید بپرسید «اگر یادگیری عمیق جدیدترین و قوی‌ترین تکنیک هوش مصنوعی است، چرا باید با تکنیک‌های قدیمی‌تر و ساده‌تر آشنا شویم؟» جواب ساده است! چون نه یادگیری عمیق چکش است و نه همه‌ی مسائل پیش روی شما میخ! بسیاری از مسائل در دنیای واقعی با تکنیک‌های ساده‌تری از یادگیری عمیق قابل حل شدن هستند و مهم‌تر از آن، اساساً حل کردن آن‌ها با یادگیری عمیق غیرکاربردی یا حتی اشتباه است. کتابخانه‌ی Scikit-learn معروف‌ترین کتابخانه‌ی پایتون است که تکنیک‌های یادگیری غیر عمیق در حوزه‌ی یادگیری ماشین را در اختیار شما قرار می‌دهد. احتمالا حدس می‌زنید که برای یادگیری این کتابخانه نیز منابع زیادی در دسترس است اما من به شخصه تعریف کتاب بالا را بسیار شنیده‌ام و بخش‌هایی از آن را خوانده‌ام. توصیه می‌کنم با مطالعه‌ی بخش اول این کتاب شروع کنید و اگر ناراضی بودید، سراغ منابع دیگر بروید. 

گام هفتم: مفاهیم و کتابخانه‌های پایه‌ای یادگیری عمیق را فرا بگیرید! (اختیاری)

فرض کنیم شما تکنیک‌های یادگیری عمیق در گام‌های پنجم و ششم را یاد گرفتید و بسیار به هوش مصنوعی علاقه‌مند شدید! تا آنجا که تمایل دارید تا مفاهیم بنیادی‌تر هوش مصنوعی و تکنیک‌های پیشرفته‌تر برنامه‌نویسی در این حوزه را بیاموزید. در این صورت دو پیشنهاد برایتان دارم: یکم، به کتابخانه‌های Pytorch و Tensorflow سری بزنید و سعی کنید تا کدنویسی با این کتابخانه‌ها را تجربه کنید؛ شاید برایتان جالب باشد که بدانید کتابخانه‌های FastAI و tensorflow.keras که در گام پنجم معرفی شدند، به ترتیب بر مبنای (با کمک کدهای) کتابخانه‌های Pytorch و Tensorflow نوشته شده‌اند. این موضوع نشان می‌دهد که هم Pytorch و هم Tensorflow کتابخانه‌های بسیار قدرتمند و پایه‌ای در حوزه‌ی هوش مصنوعی هستند. یادگیری این کتابخانه‌ها زمان‌ بیشتری نسبت به یادگیری کتابخانه‌های کاربردی‌ می‌برد و به تسلط بیشتری به ریاضیات و برنامه‌نویسی نیاز دارد. اما اگر بتوانید کار با آن‌ها را یاد بگیرید، ابزارهای بسیار قدرتمندی هستند.

کتاب مرجع: یادگیری برنامه‌نویسی یادگیری ماشین با کتابخانه PyTorch

برای یاد گرفتن Pytorch کتاب Deep Learning with Pytorch و برای یادگیری Tensorflow، بخش‌های دوم به بعد کتاب Hands-On Machine Learning with Scikit-learn, Tensorflow and Keras را پیشنهاد می‌کنم. پیشنهاد دوم هم آن است که به سراغ پنج دوره‌ی مجازی در وب‌سایت Coursera با عنوان Deep Learning Specialization بروید که دکتر Andrew Ng (استاد دانشگاه استنفورد) مدرس آن است. این پنج دوره هم شما را با مفاهیم بنیادین یادگیری ماشین و یادگیری عمیق آشنا خواهد کرد. در پایان توصیه می‌کنم تا تصمیم‌گیری برای ورود به گام هفتم یا گذشتن از آن را به وقت دیگری موکول کنید. احتمالا در پایان گام پنجم یا ششم خودتان حس خواهید کرد که به گام هفتم علاقه‌مند هستید یا خیر!

گام هشتم: در یکی از حوزه‌های یادگیری ماشین متمرکز شوید!

حوزه‌ها و رویکردهای متفاوت در یادگیری ماشین

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

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

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

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

گام نهم: بِروز بمانید!

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

اول: به سراغ شبکه‌های اجتماعی مثل توییتر و لینکدین بروید. جامعه‌ی برنامه‌نویسان هوش مصنوعی در این دو شبکه (و به‌ویژه توییتر) حضور فعالی دارند. فعالان این حوزه و هشتگ‌های شناخته شده‌ی هوش مصنوعی را در این شبکه‌ها دنبال کنید. اگر نمی‌دانید چه کسانی را باید دنبال کنید، با نویسندگان کتاب‌هایی که در بالا معرفی کردم شروع کنید و به تدریج دیگر افراد را به رادار خود اضافه کنید!

دوم: در اتاق‌های گفت‌وگو (یا فاروم‌های) مرتبط با برنامه‌نویسی هوش مصنوعی حضور فعالی داشته باشید. سایت‌هایی مانند Stackoverflow، Github و Reddit از جمله محیط‌هایی هستند که روزانه بحث‌های بی‌شماری در حوزه‌ی هوش مصنوعی را میزبانی می‌کنند. مطالب کاربران دیگر در این سایت‌ها را بخوانید و اگر می‌توانید خودتان نیز در بحث‌ها مشارکت کنید.

سوم: مقاله‌های جدید را فعالانه پیدا و مطالعه کنید. شاید مطالعه‌ی هفته‌ای یک یا دو مقاله‌ی جدید در حوزه‌ی مورد علاقه شما از هوش مصنوعی از نان شب هم برایتان واجب‌تر باشد! خب حالا مقاله‌های جدید را از کجا می‌توان پیدا کرد؟ راه‌های زیادی وجود دارد اما من به شخصه از Google Scholar Alert استفاده می‌کنم که می‌توان در آن کلیدواژه‌هایی را تعریف کرد و از گوگل خواست که هر دو یا سه روز، جدیدترین مقاله‌هایی که آن کلیدواژه‌ها را دارند برایتان ایمیل کند. به جز این روش، بازدید مرتب از پایگاه‌های داده‌ای مثل Arxiv (که بیشترین حجم مقالات هوش مصنوعی را دارد) خالی از لطف نیست.

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

پنجم: در پایان پیشنهاد می‌کنم حتما این ویدیوی جالب را از Youtube تماشا کنید. در این ویدیو دکتر Andrew Ng (استاد هوش مصنوعی در دانشگاه استنفورد)، چند راهبرد بسیار مفید را برای چگونگی بروز ماندن در حوزه‌ی هوش مصنوعی معرفی می‌کند.

گام دهم: نگاه و رویکرد بین‌حرفه‌ای پیدا کنید!

اگر تا گام دهم با مسیر پیشنهادی من یا هر مسیر دیگری پیش آمدید، یک پیشنهاد که نه، یک توصیه پایانی و دوستانه برایتان دارم: خودتان را گم نکنید!‌ منظورم چیست؟ ببینید ما اصالتاً پیشینه‌ای در رشته‌های علوم پزشکی داریم و حالا که وارد مسیر هوش مصنوعی شدیم، یعنی یک رویه‌ی میان‌رشته‌ای برای خودمان انتخاب کرده‌ایم. کار کردن در مرز میان رشته‌های پزشکی و مهندسی هم بسیار لذت‌بخش است و هم خطرات خاص خودش را دارد.

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

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

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

نقشه راه یادگیری برنامه‌نویسی هوش مصنوعی برای دانشجویان و دانش‌آموختگان علوم پزشکی - گام نهم و دهم

پرسش‌های پرتکرار

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

پرسش اول: آیا واقعاً هوش مصنوعی برای فعالان و متخصصان رشته‌های علوم پزشکی مفید و کارآمد است؟

اگر وارد مسیر یادگیری هوش مصنوعی شوید، حتماً برایتان پیش خواهد آمد که از خود بپرسید «آیا واقعاً این حوزه روزی نقش مهمی در علوم پزشکی پیدا خواهد کرد یا خیر». برای همین پرسش بود که در گام اول از شما خواستم تا پیش از هر کاری کمی در مورد جایگاه هوش مصنوعی در علوم پزشکی و رشته‌ی تخصصی خودتان مطالعه کنید. اجازه دهید نظر شخصی خود را در مورد این پرسش بگویم. اگر امروز کسی از شما بپرسد که یاد گرفتن مفهوم «P-value» در آمار چقدر برای یک پزشک خوب شدن مهم است، به او چه پاسخی می‌دهید؟ احتمالاً می‌گویید «نان شب نیست ولی اگر بلد نباشی تقریباً از پژوهش‌های پزشکی و علم روز آن حوزه عقب خواهی ماند!‌ حداقل باید مفاهیم ساده‌ی آن را درک کرده باشی!». به نظر من، هوش مصنوعی نیز جایگاه مشابهی در علوم پزشکی دارد. ظرف چند سال دیگر به جایی خواهیم رسید که اگر پزشکی نتواند مفاهیم پایه‌ای هوش مصنوعی را درک کند و حداقل یک مقاله را که بر مبنای هوش مصنوعی نوشته شده نقد کند، عملاً از علم روز پزشکی عقب خواهد ماند. لازم نیست همه‌ی پزشکان برنامه‌نویسی بلد باشند (همان گونه که لازم نیست همه متخصص آمار باشند و مفاهیم پیچیده‌ی P-value را درک کنند)، اما لازم است تا کاربردهای هوش مصنوعی در رشته‌ی خود را بشناسند. یک نگاه به آمار پایگاه‌های داده‌ی علوم پزشکی مانند Medline نشان می‌دهد که چطور تعداد سالانه مقاله‌هایی که از تکنیک‌های هوش مصنوعی استفاده می‌کنند و در نشریه‌های علوم پزشکی چاپ می‌شوند، رشد نمایی دارد. هوش مصنوعی یکی از مهم‌ترین روندهای حوزه‌های مختلف علم در آینده است، از جمله حوزه‌ی علوم پزشکی.  

پرسش دوم: از کجا معلوم که تب هوش مصنوعی هم مانند تب سایر پدیده‌هایی که مدت کوتاهی جلب توجه کردند، به زودی فروکش نکند؟

در ابتدا اگر این پرسش را از ذهن خود گذرانده‌اید، باید ذهن نقادتان را تحسین کنم. در گذشته بسیاری از پدیده‌هایی که روزی ادعا می‌شد دنیا را عوض خواهند کرد، زودتر از آن که فکر می‌شد از رده خارج شدند و پس از مدتی کسی حتی نام آن‌ها را نیز به خاطر نمی‌آورد. معمولاً پدیده‌های جدید با دوره‌هایی از Hype (هیجان‌زدگی اغراق‌آمیز) همراه هستند و مهم است زمانی که ما با هر پدیده جدیدی آشنا می‌شویم، این پرسش را مطرح کنیم. اما آیا این موضوع در مورد هوش مصنوعی نیز صادق است؟ بسیاری از تحلیل‌گرانی که روند پیشرفت هوش مصنوعی را پایش می‌کنند، معتقدند که اینگونه نیست. هوش مصنوعی در قرن بیستم (دهه‌های ۱۹۶۰ و ۱۹۸۰) دو دوره از Hype را تجربه کرد اما پیشرفتی که از حدود سال‌ ۲۰۱۲ در این حوزه شروع شد و از آن زمان تا امروز هر سال شتاب بیشتری هم گرفته است، به نظر پایدار می‌رسد.

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

پرسش سوم: آیا یادگیری هوش مصنوعی نیاز به دانش تخصصی (یا تحصیل در) حوزه‌های مهندسی دارد؟

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

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

پرسش چهارم: آیا برای یادگیری هوش مصنوعی نیاز به رایانه‌های ویژه و گران‌قیمت وجود دارد؟

پاسخ به این پرسش تا نزدیک به یک سال پیش مثبت بود. با رشد الگوریتم‌های یادگیری عمیق، نیاز به پردازنده‌های قوی که بتواند این الگوریتم‌ها را اجرایی کند، پیوسته در حال افزایش است. الگوریتم‌های شبکه‌های عصبی معمولاً به کارت‌های گرافیک NVIDIA (و متاسفانه فقط NVIDIA) با حافظه‌ی قوی و پردازنده‌های مرکزی قدرتمند نیاز دارند. اما جالب است بدانید که این روال سنتی کم‌کم در حال از بین رفتن است. چرا؟ زیرا بسیاری از فضاهای ابری تخصصی برای توسعه‌ی الگوریتم‌های هوش مصنوعی به وجود آمده‌اند و خدمات خود را با قیمت‌های اندک و حتی «رایگان» به متقاضیان ارائه می‌دهند.

در حقیقت شما می‌توانید برنامه‌های خود را در یک فضای ابری مانند Google Colab یا Google Cloud اجرا کنید و از گوگل بخواهید تا یک رایانه‌ی مجازی قدرتمند با تنظیمات مورد نظر شما را در اختیارتان قرار دهد! دیگر نگران خرید یک رایانه‌ی قدرتمند برای خود و تنظیمات سخت‌افزاری و نرم‌افزاری آن نباشید. اصلاً بگذارید تا صریح بگویم: اگر قصد دارید تا حوزه‌ی هوش مصنوعی را امتحان کنید (و حتی اگر مطمئنا از آن خوشتان آمده است)، هیچ دلیلی وجود ندارد که بخواهید یک رایانه‌ی قدرتمند و گران‌قیمت تهیه کنید! بسیاری از منابعی که در پیش‌تر معرفی کردم، فضاهای ابری مورد نیاز برای تمرین کردن برنامه‌نویسی هوش مصنوعی را در اختیار شما قرار می‌دهند.

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

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

پرسش ششم: آیا می‌شود هوش مصنوعی را با زبان‌های برنامه‌نویسی دیگری به جز پایتون پیاده‌سازی کرد؟

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

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

شاید پاسخ به این سوال در شرایط کنونی منفی باشد اما قطعاً این روند به سرعت تغییر خواهد کرد. با توجه به تاثیرگذاری هوش مصنوعی در تحقیقات علوم پزشکی، دیری نخواهد پایید که مراکز تحقیقاتی و دانشگاه‌های علوم پزشکی در کشور ما نیز باید برای تأمین سخت‌افزارها و نظام‌های داده‌ای این فناوری‌ها دست به کار شوند. به طور ویژه، طراحی و راه‌اندازی نظام‌های ذخیره‌سازی و کاربردی‌سازی داده‌های نظام سلامت (از جمله اطلاعات پرونده‌های بیماران) که خوراک ضروری تحقیقات هوش مصنوعی هستند و خریداری و استقرار سخت‌افزارها و پردازنده‌های مورد نیاز برای اجرای الگوریتم‌های هوش مصنوعی باید در اولویت قرار بگیرند.

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

پرسش هشتم: آیا وارد شدن به حوزه‌ی هوش مصنوعی به مفهوم ادامه تحصیل ندادن و فعالیت نکردن در رشته‌‌ی اصلی خودم است؟

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

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

پرسش نهم: یاد گرفتن برنامه‌نویسی و هوش مصنوعی چقدر زمان از من خواهد گرفت؟

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

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

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

بازخوانی و ویرایش محتوایی: دکتر بردیا خسروی، محمدمعین شریعت‌نیا

6 نظرات
  1. صبا می گوید

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

  2. پرنیان می گوید

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

  3. نیک عباسی می گوید

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

  4. احمد می گوید

    فوق العاده بود، ممنون از مدلین و جناب آقای دکتر روزرخ

  5. فاطمه می گوید

    خیلی ممنون . واقعا مفید بود

  6. helma zrn می گوید

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

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.