هوش مصنوعی پردازش حجم زیادی از داده ها و استفاده از آن را در صنعت تسهیل کرده است. با رشد هوش مصنوعی و ML، تعداد ابزارها و ساختارهای در دسترس دانشمندان و توسعه دهندگان داده افزایش یافته است. در این مقاله در مورد ابزارها و ساختارهای هوش مصنوعی، برخی از این موارد را به ترتیب زیر فهرست می کند:
- ابزارها و ساختارهای هوش مصنوعی
- فهرست ابزارها و ساختارهای هوش مصنوعی
- Scikit Learn
- TensorFlow
- Theano
- Caffe
- MxNet
- Keras
- PyTorch
- CNTK
- Auto ML
- OpenNN
- H20: Open Source AI Platform
- Google ML Kit
ابزارها و چارچوب های هوش مصنوعی
توسعه شبکه های عصبی یک فرآیند طولانی است که نیاز به تفکر زیادی در پشت معماری و مجموعه ای از تفاوت های ظریف دارد که در واقع سیستم را تشکیل می دهند.
این تفاوت های ظریف می تواند به راحتی در نهایت بسیار زیاد شود و همه چیز را نمی توان به راحتی ردیابی کرد. از این رو، نیاز به چنین ابزارهایی ایجاد می شود، جایی که انسان تصمیمات اصلی ساختار را انجام می دهد و سایر وظایف بهینه سازی را به چنین ابزارهایی واگذار می کند. ساختاری با تنها 4 فراپارامتر بولی ممکن را تصور کنید، آزمایش تمام ترکیبات ممکن 4 بار طول می کشد. 24 بار آموزش مجدد همان ساختار قطعا بهترین استفاده از زمان و انرژی نیست.
همچنین، بیشتر الگوریتم های جدیدتر شامل یک دسته کامل از فراپارامترها هستند. اینجاست که ابزارهای جدید ظاهر می شوند. این ابزارها نه تنها به توسعه، بلکه بهینه سازی این شبکه ها کمک می کنند.
گذراندن این آموزش هوش مصنوعی برای مبتدیان به شما کمک می کند تا بر مفاهیم هوش مصنوعی و کاربرد آن مسلط شوید.
فهرست ابزارها و ساختارهای هوش مصنوعی
از زمان پیدایش انسان، ما به عنوان یک گونه همیشه در تلاش بوده ایم چیزهایی بسازیم که در کارهای روزمره به ما کمک کنند. از ابزار سنگی گرفته تا ماشین آلات مدرن، تا ابزارهایی برای ایجاد برنامه هایی برای کمک به ما در زندگی روزمره. برخی از مهمترین ابزارها و ساختارها عبارتند از:
- Scikit Learn
- TensorFlow
- Theano
- Caffe
- MxNet
- Keras
- PyTorch
- CNTK
- Auto ML
- OpenNN
- H20: Open Source AI Platform
- Google ML Kit
-
Scikit Learn
Scikit-learn یکی از شناخته شده ترین کتابخانه های ML است. بسیاری از محاسبات آموزشی مدیریت شده و اجرا شده را پشتیبانی می کند. سوابق شامل برگشت های مستقیم و محاسبه شده، choice trees، دسته بندی ها، k-implies و غیره هستند.
- این ابزار در دو کتابخانه ضروری پایتون، NumPy و SciPy گسترش می یابد.
- شامل محاسبات زیاد برای وظایف معمولی هوش مصنوعی و داده کاوی، از جمله دسته بندی کردن، بازگشت و نظم است. در واقع، حتی کارهایی مانند تغییر اطلاعات، تعیین ویژگی ها و تکنیک های مجموعه را می توان در چند خط اجرا کرد.
- برای یک فرد ناآزموده در ML، به تدریج تا زمانی که شروع به عملی کردن محاسبات پیچیده به کند؛ Scikit-learn ابزاری بیش از اندازه کافی برای کار است.
-
Tensorflow
در فرصتی که شما در قلمرو هوش مصنوعی هستید، به احتمال زیاد به نوعی در مورد محاسبات آموزشی عمیق پی برده، تلاش کرده یا اجرا کرده اید. آیا درست است که بگوییم آنها ضروری هستند؟ همیشه نه. آیا درست است که بگوییم وقتی درست انجام می شوند باحال هستند؟
نکته جالب در مورد Tensorflow این است که وقتی برنامهای را در پایتون مینویسید، میتوانید روی CPU یا GPU خود مرتب کنید و به اجرا ادامه دهید. بنابراین برای ادامه کار بر روی پردازندههای گرافیکی، نیازی به نوشتن در سطح C++ یا CUDA ندارد.
از ترتیبی از هابهای چند لایه استفاده میکند که به شما امکان میدهد به سرعت سیستمهای عصبی تقلبی را با مجموعه دادههای عظیم راهاندازی، آموزش و ارسال کنید. این چیزی است که به گوگل امکان میدهد سؤالات موجود در عکسها را تشخیص دهد یا کلماتی را که به صورت شفاهی بیان میشوند در برنامه تأیید صوتی خود درک کند.
-
Theano
Theano به طرز شگفت انگیزی روی Keras، یک کتابخانه سیستم های عصبی غیرعادی، که تقریباً به موازات کتابخانه Theano اجرا می شود، جمع شده است. موقعیت مطلوب Keras این است که یک کتابخانه پایتون متوسط برای کشف عمیق است که می تواند بر روی Theano یا TensorFlow ادامه دهد.
- این ابزار برای ایجاد مدلهای یادگیری عمیق به همان سرعت و سادگی برای کارهای نوآورانه ایجاد شده است.
- این برنامه همچنان در پایتون 2.7 یا 3.5 اجرا می شود و می تواند به طور مداوم بر روی GPU ها و CPU ها اجرا شود.
چیزی که Theano را از هم جدا می کند این است که از پردازنده گرافیکی رایانه شخصی بهره برداری می کند. این به آن امکان میدهد شمارش اطلاعات را تا چند برابر سریعتر از زمانی که تنها روی CPU اجرا میشود، افزایش دهد. سرعت Theano آن را به ویژه برای یادگیری عمیق و سایر کارهای پیچیده محاسباتی سودآور می کند.
-
Caffe
Caffe یک ساختار یادگیری عمیق است که با بیان، سرعت و کیفیت اندازه گیری شده به عنوان اولویت اصلی ساخته شده است. این توسط مرکز بینایی و یادگیری برکلی (BVLC) و توسط اهداکنندگان شبکه ایجاد شده است. DeepDream گوگل به Caffe Framework بستگی دارد. این ساختار یک کتابخانه C++ دارای مجوز BSD با رابط پایتون است.
-
MxNet
امکان داد و ستد زمان محاسباتی برای حافظه را از طریق “backprop فراموششده” فراهم میکند که میتواند برای شبکههای تکراری در توالیهای بسیار طولانی بسیار مفید باشد.
- ساخته شده با مقیاس ذهنی (پشتیبانی نسبتاً آسان برای آموزش چند GPU و چند ماشین).
- بسیاری از ویژگی های جالب، مانند نوشتن آسان لایه های سفارشی در زبان های سطح بالا
- برخلاف تقریباً تمام ساختارهای اصلی دیگر، مستقیماً توسط یک شرکت بزرگ که وضعیت سالمی برای یک ساختار باز و توسعهیافته توسط جامعه است، اداره نمیشود.
- پشتیبانی از TVM، که گسترش پشتیبانی را بیشتر بهبود میبخشد و اجازه میدهد روی مجموعهای از انواع دستگاههای جدید اجرا شود.
-
Keras
اگر به روش پایتون برای انجام کارها علاقه دارید، Keras برای شما مناسب است. این یک کتابخانه سطح بالا برای شبکه های عصبی است که از TensorFlow یا Theano به عنوان باطن خود استفاده می کند.
اکثر مشکلات عملی بیشتر شبیه به موارد زیر است:
اگر به روش پایتون برای انجام کارها علاقه دارید، Keras برای شما مناسب است. این یک کتابخانه سطح بالا برای شبکه های عصبی است که از TensorFlow یا Theano به عنوان باطن خود استفاده می کند.
اکثر مشکلات عملی بیشتر شبیه به موارد زیر است:
- انتخاب یک ساختار مناسب برای یک مشکل،
- برای مشکلات تشخیص تصویر – با استفاده از وزنه های آموزش داده شده در ImageNet،
- پیکربندی یک شبکه برای بهینه سازی نتایج (یک فرآیند طولانی و تکراری).
- در همه اینها کراس یک جواهر است. همچنین، یک ساختار انتزاعی ارائه می دهد که می تواند به راحتی به ساختارهای دیگر، در صورت نیاز (برای سازگاری، عملکرد یا هر چیز دیگری) تبدیل شود.
-
PyTorch
PyTorch یک سیستم هوش مصنوعی است که توسط فیس بوک ایجاد شده است. کد آن در GitHub قابل دسترسی است و در حال حاضر بیش از 22 هزار ستاره دارد. از سال 2017 توانایی زیادی کسب کرده است و بی وقفه در حال توسعه است.
-
CNTK
CNTK به کاربران این امکان را می دهد که به راحتی انواع مدل های محبوب مانند DNN های پیشخور، شبکه های کانولوشن (CNN) و شبکه های تکراری (RNN/LSTM) را درک و ترکیب کنند. این آموزش نزول گرادیان تصادفی (SGD، پس انتشار خطا) را با تمایز و موازی سازی خودکار در چندین GPU و سرور پیاده سازی می کند. CNTK برای هر کسی در دسترس است تا آن را امتحان کند، تحت یک مجوز Open Source.
-
Auto ML
از بین تمام ابزارها و کتابخانههای ذکر شده در بالا، Auto ML احتمالاً یکی از قویترین و جدیدترین افزونهها در بین ابزارهای موجود در اختیار یک مهندس یادگیری ماشین است.
همانطور که در مقدمه توضیح داده شد، بهینه سازی در وظایف یادگیری ماشینی ضروری است. در حالی که مزایای به دست آمده از آنها سودآور است، موفقیت در تعیین فراپارامترهای بهینه کار آسانی نیست. این امر به ویژه در جعبه سیاه مانند شبکه های عصبی صادق است که در آن با افزایش عمق شبکه، تعیین چیزهایی که اهمیت دارند دشوارتر می شود.
بنابراین وارد حوزه جدیدی از متا می شویم که در آن نرم افزار به ساخت نرم افزار کمک می کند. AutoML یک کتابخانه است که توسط بسیاری از مهندسین یادگیری ماشین برای بهینه سازی مدل های خود استفاده می شود.
جدا از صرفه جویی در زمان آشکار، این می تواند برای افرادی که تجربه زیادی در زمینه یادگیری ماشین ندارند و بنابراین فاقد شهود یا تجربه قبلی برای ایجاد تغییرات فراپارامتر خاص توسط خودشان هستند، بسیار مفید باشد.
-
OpenNN
OpenNN با پرش از چیزی که کاملاً مبتدی است به چیزی که برای توسعه دهندگان با تجربه است، مهماتی از تجزیه و تحلیل پیشرفته ارائه می دهد.
این ابزار دارای یک Neural Designer برای تجزیه و تحلیل پیشرفته است که نمودارها و جداول را برای تفسیر ورودی های داده ارائه می دهد.
-
H20: پلتفرم هوش مصنوعی Open Source
H20 یک پلت فرم یادگیری عمیق Open Sourceاست. این یک ابزار هوش مصنوعی است که تجارت محور است و به آنها کمک می کند تا از روی داده ها تصمیم بگیرند و کاربر را قادر می سازد تا بینش خود را ترسیم کند. دو نسخه از Open Source وجود دارد: یکی استاندارد H2O و دیگری نسخه پولی Sparkling Water. می توان از آن برای مدل سازی پیش بینی، تجزیه و تحلیل ریسک و تقلب، تجزیه و تحلیل بیمه، فناوری تبلیغات، مراقبت های بهداشتی و هوش مشتری استفاده کرد.
-
Google ML Kit
Google ML Kit، SDK بتای یادگیری ماشینی Google برای توسعه دهندگان تلفن همراه، به گونه ای طراحی شده است که توسعه دهندگان را قادر می سازد تا ویژگی های شخصی سازی شده را در تلفن های Android و IOS ایجاد کنند.
این کیت به توسعه دهندگان اجازه می دهد تا فناوری های یادگیری ماشین را با API های مبتنی بر برنامه که روی دستگاه یا در فضای ابری اجرا می شوند، جاسازی کنند. از جمله ویژگی هایی مانند تشخیص چهره و متن، اسکن بارکد، برچسب زدن تصویر و موارد دیگر.
توسعهدهندگان همچنین میتوانند مدلهای TensorFlow Lite خود را در مواردی که APIهای داخلی ممکن است مناسب یوزکیس ((Use case نباشند را بسازند.
این ??????? ???????? به عنوان یک دوره Crash در ????? برای مبتدیان در نظر گرفته شده است. محبوبیت ??????? به طور تصاعدی در حال افزایش است. اما، ??????? هنوز برای بسیاری از مردم شناخته شده نیست. ??????? مدتی است که حرف اول را می زند.
با این کار، وبلاگ ابزارها و ساختارهای هوش مصنوعی خود را به پایان رساندیم. اینها برخی از ابزارهایی بودند که به عنوان بستری برای دانشمندان و مهندسان داده برای حل مشکلات زندگی واقعی عمل میکنند که ساختر اساس و زیربنایی را بهتر و قویتر میکند.