تنسورفلو (TensorFlow) یک چارچوب متنباز منبع باز برای ساخت اپلیکیشنهای یادگیری ماشین است. این یک جعبهابزار ریاضی گرافیکی بهحساب میآید که وظایف مختلفی از جمله آموزش شبکه عصبی عمیق و استنتاج با استفاده از جریانداده و برنامهنویسی قابلتمایز را انجام میدهد. این ابزار برنامهنویسان را قادر میسازد تا با استفاده از ابزارها، چارچوبها و منابع مختلف جامعه، برنامههای یادگیری ماشین را بسازند. دوره تنسورفلو پیشرفته مکتبخونه با هدف آموزش این ابزار مهم در صنعت هوش مصنوعی و یادگیری ماشین تهیه و تدوین شده است که در ادامه به معرفی آن خواهیم پرداخت.
در دوره آموزش تنسورفلو چگونگی توسعه نرمافزارهای یادگیری عمیق را در تنسورفلو میآموزیم. از روشهای ابتدایی و ساده عبور میکنیم و سناریوهای پیچیده و واقعی را در همه مراحل از آمادهسازی دادهها تا توسعه و آموزش مدلها بررسی خواهیم کرد.
انتظار میرود در پایان این دوره دانشجویان تا حدی با چالشهای مسائل واقعی یادگیری عمیق و چگونگی حل آنها با تنسورفلو آشنا شوند و آمادگی نسبیای برای آغاز مسیر شغلی و انجام مصاحبههای کاری به دست آورند.
این دوره آموزش TensorFlow پیشرفته برای افرادی که تا حد خوبی تئوری یادگیری ماشین و یادگیری عمیق را مسلط هستند و همچنین آشنایی ابتدایی با فریمورک تنسورفلو و کراس دارند و میخواهند دانش عملی خود را برای حل مسائل افزایش دهند مناسب است.
سهیل کوهی فارغالتحصیل علوم مهندسی از دانشگاه تهران است. ایشان از سال ۹۶ در حوزههای مختلف یادگیریماشین، یادگیریعمیق و بیناییماشین به فعالیت صنعتی مشغول است.
از مهمترین پروژههای ایشان میتوان به تشخیص قیمت املاک بر اساس تصاویر داخلی و خارجی ملک اشاره کرد که در زمان توسعه دقیقترین مدل تشخیص ملک بود. همچنین پس از شروع بیماری کرونا ایشان در پروژههایی برای کنترل این بیماری توسط بینایی ماشین شرکت داشتند که با استفاده از دوربینهای نظارتی سازمانها و ساختمانهای بزرگ میزان رعایت فاصلهگذاری اجتماعی و میزان استفاده از ماسک را به صورت اتوماتیک تشخیص میداد.
ایشان همچنین سابقه تدریس مباحث هوش مصنوعی در سطوح مختلف جهت توانمندسازی کارمندان سازمانهای مختلف را دارند.
محسن هجرتی مهندس هوش مصنوعی با تمرکز بر دادههای پزشکی و سلامت است. او در حال حاضر مدیر ارشد مهندسی یادگیری ماشین در شرکت Genentech است.
از تجربههای ایشان فعالیتهای تحقیقاتی، کارآفرینی، و آموزشی در حوزهی فناوری و هوش مصنوعی و سلامت است.
ایشان همچنین از بنیانگذاران سایت مکتبخونه در سال 1390 است.
از دیگر فعالیتهای ایشان مشارکت در پروژهی خودران گوگل و بنیانگذاری شرکت زیرساخت هوش مصنوعی در امریکا اشاره کرد. او فارغ التحصیل رشته ریاضی در سال 1389 از دانشگاه صنعتی شریف. ایشان همچنین موفق شدند مدرک دکتری خود را در حوزه علوم کامپیوتر با تمرکز بر بینایی ماشین در سال ۲۰۱۵ از دانشگاه کالیفرنیا در ارواین دریافت کند.
در صورت قبولی در دوره، گواهی نامه رسمی پایان دوره توسط مکتبخونه به اسم شما صادر شده و در اختیار شما قرار می گیرد.
خدمات منتورینگ به معنای برخورداری دانشجو از راهنما یا پشتیبان علمی در طول گذراندن دوره میباشد. این خدمات شامل پاسخگویی به سوالات آموزشی(در قالب تیکتینگ)، تصحیح آزمون یا پروژه های دوره و ارائه باز خورد موثر به دانشجو میباشد.
این دوره طوری طراحی شده است که محتوای آموزشی دوره حول چند پروژه واقعی و کاربردی هستند تا یادگیری دانشجو در طول دوره به کاربردهای عملی تبدیل شود و به این ترتیب بالاترین سطح یادگیری را فراهم نمایند.
با قرار گرفتن تمرین ها و آزمون های مختلف در طول دوره، محیطی تعاملی فراهم شده است تا بهره گیری از محتوا و یادگیری بهتر و عمیق تر شود.
شما می توانید از طریق تالار گفتگو با دیگر دانشجویان دوره در ارتباط باشید، شبکه روابط حرفه ای خود را تقویت کنید یا سوالات مرتبط با دوره خود را از دیگر دانشجویان بپرسید.
در صورت قبولی در دوره، شما میتوانید با وارد کردن اطلاعات آن در بخش دورههای آموزشی رزومهساز «جاب ویژن»، تایید مهارت خود را در قالب اضافه شدن «مدال مهارت» به روزمه آنلاین خود دریافت نمایید. این مدال علاوه بر ایجاد تمایز در نمایش رزومه شما، باعث بالاتر قرار گرفتن آن در لیست انبوه رزومههای ارسالی به کارفرما شده و بدین ترتیب شانس شما را برای استخدام در سازمانهای موفق و پر متقاضی افزایش میدهد.
تنسورفلو (TensorFlow) گوگل در حال حاضر شناختهشدهترین بسته یادگیری عمیق در دنیا است. یادگیری ماشینی توسط گوگل در همه محصولاتش برای بهبود جستجو، ترجمه، شرح تصاویر و توصیهها استفاده میشود. به عنوان مثال، کاربران گوگل ممکن است از جستجوی به کمک هوش مصنوعی بهره ببرند که هم سریعتر و هم دقیقتر است. وقتی کاربر یک کلمه کلیدی را در قسمت جستجوی گوگل تایپ میکند، موتور جستجو برای کلمه کلیدی تایپ شده به آن پیشنهادهایی میدهد.
گوگل قصد دارد از یادگیری ماشینی استفاده کند تا از مجموعه دادههای عظیم خود حداکثر استفاده را ببرد تا بهترین تجربه ممکن را برای مصرفکنندگان خود فراهم کند. یادگیری ماشین توسط سه سازمان مختلف استفاده میشود. محققان، برنامهنویسان و دانشمندان داده.
Tensor Flow برای مقیاسبندی توسعه داده شده است، زیرا گوگل چیزی بیش از دادهها دارد. آنها همچنین قدرتمندترین کامپیوتر جهان را دارند. TensorFlow یک کتابخانه تحقیقاتی یادگیری ماشین و شبکه عصبی عمیق بهحساب میآید که توسط تیم Google Brain ایجاد شده است. این برای کاربر روی چندین CPU یا GPU و همچنین سیستمعاملهای تلفن همراه در برخی شرایط طراحی شده است و شامل wrapper هایی در Python، C++ و Java است. دوره آموزش تنسورفلو پیشرفته با هدف آموزش این ابزار مدرن تهیه شده است که در بالا آن را معرفی کردیم.
چند سال پیش یادگیری عمیق شروع به پیشی گرفتن از سایر الگوریتمهای یادگیری ماشینی کرد. گوگل متوجه شد که شبکههای عصبی عمیق ممکن است به بهبود خدماتش کمک کند. آنها چارچوب Tensorflow را ایجاد کردند تا به دانشگاهیان و توسعهدهندگان اجازه دهد تا در مدلهای هوش مصنوعی با یکدیگر همکاری کنند.
تنسورفلو در ابتدا در اواخر سال 2015 توسعه یافت و اولین نسخه پایدار آن در سال 2017 منتشر شد. این ابزار به لطف مجوز منبع باز آپاچی، رایگان و منبع باز است؛ یعنی شما بدون پرداخت هزینهای به Google، میتوانید از آن استفاده کنید، آن را تغییر دهید و نسخه به روز شده را با قیمتی دوباره توزیع کنید.
با پذیرش ورودیها بهعنوان یک آرایه چندبعدی به نام Tensor، TensorFlow به شما امکان میدهد نمودارها و ساختارهای جریان داده ایجاد کرده تا مشخص کنید دادهها چگونه از طریق یک نمودار حرکت میکنند. این به شما امکان میدهد فلوچارت عملیاتی را ایجاد کنید که ممکن است روی این ورودیها انجام شود که در یک جهت حرکت میکنند و از جهت دیگر خارج میشوند.
پیشپردازش دادهها، ساخت مدل و در نهایت آموزش و تخمین مدل، سه عنصر ساختار تنسورفلو هستند. Tensorflow نام خود را از این واقعیت گرفته است که ورودی را به شکل یک آرایه چندبعدی میگیرد که معمولاً به عنوان تانسور یا تنسور شناخته میشود. شما میتوانید فلوچارتی از عملیاتی که میخواهید روی آن ورودی اجرا کنید را بسازید. ورودی در یک انتها وارد میشود، از طریق این سیستم از فرآیندهای مختلف عبور میکند و در سمت دیگر به عنوان خروجی ظاهر میشود. حال در مرحله نهایی تانسور وارد میشود، مجموعهای از عملیات را انجام میدهد و سپس از طرف دیگر خارج میشود، به همین دلیل است که TensorFlow نامیده میشود. در دوره آموزش تنسورفلو پیشرفته با نحوه کار این ابزار بهتر آشنا خواهیم شد.
الزامات سختافزاری و نرمافزاری TensorFlow را میتوان به سه دسته تقسیم کرد. حالت، (نوع هوش مصنوعی) که در مرحله توسعه آموزش داده میشود. همچنین اکثر آموزشها روی کامپیوتر یا لپتاپ انجام میشود. هنگامی که مرحله آموزش به پایان رسید، Tensorflow ممکن است در انواع سکوها استفاده شود. ممکن است در دسکتاپ ویندوز، macOS یا لینوکس، در فضای ابری به عنوان یک سرویس وب و در پلتفرمهای تلفن همراه مانند iOS و Android نیز مورد استفاده قرار گیرد. میتوانید آن را روی چندین کامپیوتر آموزش دهید و پس از آموزش آن را روی یک دستگاه جداگانه اجرا کنید.
در مدلهای ساخته شده با تنسورفلو ممکن است از هر دو پردازنده گرافیکی و پردازنده برای آموزش و اجرای مدل استفاده شود. پردازندههای گرافیکی با در نظر گرفتن بازیهای ویدیویی ایجاد شدهاند. محققان دانشگاه استنفورد در اواخر سال 2010 کشف کردند که GPUها در عملیات ماتریسی و جبر نیز بسیار قوی هستند و آنها را برای این نوع کارها بسیار سریع میکند. در یادگیری عمیق از ضرب ماتریس زیادی استفاده میشود. از آنجایی که TensorFlow در C++ توسعه یافته است، در انجام ضرب ماتریس بسیار سریع است. TensorFlow اگرچه به زبان C++ نوشته شده است، اما با استفاده از زبانهای مختلف، به ویژه پایتون، قابلدسترسی و کنترل است. در نهایت، TensorBoard یک عنصر مهم از TensorFlow بهحساب میآید. TensorFlow ممکن است به صورت گرافیکی و بصری با TensorBoard نظارت شود.
تنسورفلو از کامپوننت یا اجزای مختلفی تشکیل شده است که در زیر این اجزا تشریح شدهاند:
Tensorflow نام خود را از چارچوب زیرین آن، یعنی Tensor گرفته است. تانسورها در هر محاسبات تنسورفلو استفاده میشوند. تانسور یک بردار یا ماتریس n بعدی بهحساب میآید که ممکن است هر شکلی از داده را نشان دهد. مقادیر یک تانسور همه دارای یک نوع داده با یک فرم شناختهشده (تا حدی شناختهشده) هستند. ابعاد ماتریس یا آرایه شکل دادهها را تعیین میکند.
یک تانسور ممکن است از دادههای ورودی یا خروجی یک محاسبه باشد. تمام عملیات در TensorFlow در یک نمودار انجام میشود. نمودار مجموعهای از محاسبات است که به ترتیب انجام میشود. هر عملیات به عنوان یک گره عملیاتی نامیده میشود و همه آنها به هم مرتبط هستند. نمودار عملیات و روابطی را که بین گرهها وجود دارد را نشان میدهد ولی با این حال، مقادیر را نشان نمیدهد.
یک چارچوب گراف توسط TensorFlow استفاده میشود. نمودار تمام محاسبات سری آموزش را جمعآوری و خلاصه میکند. این نمودار چندین مزیت را ارائه میدهد:
یک گره و یک لبه در یک تانسور وجود دارد. فرآیند ریاضی توسط گره انجام میشود که منجر به خروجیهای نقطه پایانی میشود. اتصالات ورودی/خروجی گره توسط لبهها توضیح داده میشود.
TensorFlow بهترین کتابخانه برای امور یادگیری ماشین بهحساب میآید زیرا کاربرپسند طراحی شده است. کتابخانه Tensorflow شامل انواع APIها برای ایجاد معماریهای یادگیری عمیق در مقیاس بزرگ مانند CNN و RNN است.
در واقع TensorFlow یک زبان برنامهنویسی مبتنی بر نمودار است که به توسعهدهندگان اجازه میدهد تا با استفاده از Tensorboad، ایجاد شبکه عصبی را مشاهده کنند. این ابزار اشکالزدایی نرمافزار واقعاً مفید است. در نهایت، Tensorflow برای استفاده در استقرار در مقیاس بزرگ طراحی شده است. هم روی CPU و هم بر روی GPU اجرا میشود. در مقایسه با سایر چارچوبهای یادگیری عمیق، Tensorflow همچنین بیشترین محبوبیت را در GitHub دارد.
در زیر الگوریتمهای پشتیبانی شده توسط تنسور فلو آورده شده است:
در دوره آموزش تنسورفلو پیشرفته با نحوه پیادهسازی الگوریتمهای مختلف با این ابزار حیاتی آشنا خواهیم شد.
بارگذاری دادهها مرحله اولیه آموزش الگوریتم یادگیری ماشین است. دو روش معمولی برای بارگیری دادهها وجود دارد:
1. بارگذاری دادهها در حافظه: این سادهترین تکنیک است. تمام دادههای شما به صورت یک آرایه در حافظه بارگذاری میشود.
2. بارگذاری با خط لوله: خط لوله داده بر اساس تنسورفلو Tensorflow یک API دارد که واردکردن دادهها، انجام عملیات و تغذیه الگوریتم یادگیری ماشین را ساده میکند. این رویکرد هنگام برخورد با مجموعه دادههای بزرگ بسیار مفید است. به عنوان مثال، رکوردهای تصویر بسیار بزرگ هستند و ذخیره آن در حافظه دشوار است. حافظه توسط خط لوله داده بهتنهایی مدیریت میشود.
اگر مجموعه داده شما خیلی بزرگ نیست، مثلاً کمتر از 10 گیگابایت، میتوانید از رویکرد اول استفاده کنید. اطلاعات را میتوان در حافظه ذخیره کرد. برای واردکردن فایلهای CSV، میتوانید از Pandas، یک کتابخانه معروف استفاده کنید.
اگر مجموعه داده عظیمی دارید، روش دوم بهترین گزینه است. به عنوان مثال، اگر یک مجموعه داده 50 گیگابایتی داشته باشید و کامپیوتر شما فقط 16 گیگابایت رم داشته باشد، کامپیوتر از کار می افتد.
در این مورد باید یک خط لوله Tensorflow ایجاد کنید. دادهها به صورت دستهای یا تکههای کوچک توسط خط لوله بارگذاری میشوند. هر دسته به خط لوله اضافه میشود و برای آموزش در دسترس قرار میگیرد. استفاده از خط لوله یک گزینه فوقالعاده است زیرا پردازش موازی را امکانپذیر میکند. Tensorflow از چندین CPU برای آموزش مدل استفاده میکند. محاسبات را ارتقا میدهد و امکان توسعه شبکههای عصبی قوی را فراهم میکند.
در یک کلام، اگر یک مجموعه داده کوچک دارید، میتوانید از کتابخانه Pandas برای بارگذاری آن در حافظه استفاده کنید. اگر مجموعه داده عظیمی دارید و میخواهید از بسیاری از CPU ها استفاده کنید، خط لوله Tensorflow برای کار با آن راحتتر خواهد بود.
در سالهای اخیر، TensorFlow به معروفترین کتابخانه یادگیری عمیق تبدیل شده است. هر ساختار یادگیری عمیق، مانند CNN، RNN، یا شبکه عصبی مصنوعی اولیه، ممکن است با استفاده از TensorFlow ساخته شود. دانشگاهیان، استارتاپها و شرکتهای بزرگ رایجترین کاربران تنسورفلو هستند. TensorFlow تقریباً در تمام محصولات Google از جمله Gmail، Photos و موتور جستجوی Google استفاده میشود.
TensorFlow توسط تیم Google Brain برای پر کردن شکاف بین محققان و توسعهدهندگان محصول ایجاد شد. TensorFlow در سال 2015 برای عموم منتشر شد و بهسرعت در حال افزایش محبوبیت است. اگر به فکر یادگیری کار با کتابخانه تنسورفلو هستید و دوست دارید در این زمینه به تخصص خود بیفزایید، هماکنون با ثبتنام در دوره آموزش تنسورفلو پیشرفته مهمترین قدم را در این رابطه بردارید و راه ورود به بازار کار را برای خود آسان کنید.