Artificial Intelligence
هوش مصنوعی
هوش مصنوعی(Artificial Intelligence) یک پیشنهاد و ارائه ای است از موضوع توانایی ماشین در تقلید رفتار انسان ها مانند :
حرف زدن، فکر کردن، یادگیری ، برنامه ریزی ،قدرت فهم به هوش مصنوعی، هوش ماشینی و هوش کامپیوتری نیز گفته می شود.
هوش مصنوعی(Artificial Intelligence) سیستمی است که می تواند یک مشکل را به طور بهینه حل کند. این بدان معناست که سیستم می تواند به تنهایی تشخیص دهد که بهترین اقدام چیست.
Wikipedia
هوش مصنوعی(Artificial Intelligence) بر خلاف هوش طبیعی نشان داده شده توسط انسان ها و حیوانات، هوشی است که توسط ماشین ها نشان داده می شود که شامل هوشیاری و احساسات است.
Investpedia
هوش مصنوعی به شبیهسازی هوش انسان در ماشینهایی اشاره دارد که طوری برنامهریزی شدهاند که مانند انسان فکر کنند و اعمال آنها را تقلید کنند.
Britannica
هوش مصنوعی(Artificial Intelligence) توانایی یک کامپیوتر دیجیتال یا ربات کنترل شده توسط کامپیوتر برای انجام وظایفی است که معمولاً با موجودات هوشمند مرتبط است. این اصطلاح غالباً به پروژه توسعه سیستمهایی اطلاق میشود که دارای فرآیندهای فکری مشخصه انسانها هستند، مانند توانایی استدلال، کشف معنا، تعمیم یا یادگیری از تجربیات گذشته.
کامپیوتر ها
- هوش مصنوعی(Artificial Intelligence) نتیجه نیاز انسان به انجام محاسبات پیچیده است و این تنها با استفاده از رایانه های با سرعت بالا قابل دستیابی است.
ریاضیات
- شاخه های اصلی ریاضیات درگیر در هوش مصنوعی عبارتند از:
- توابع خطی
- گرافیک خطی
- آمار
- احتمال (بین 0 و1)
این فصل ها مطالبی در مورد شاخه های ریاضیات ارائه می دهد که در پروژه های علم داده (یادگیری ماشین / یادگیری عمیق) استفاده می شود.
جبر خطی
- کارشناسان هوش مصنوعی نمی توانند بدون این جبر زندگی کنند
هوش مصنوعی از عدد ،بردار ها،ماتریس ها و تنسورها
استفاده می کند.
علوم هوش مصنوعی(Artificial Intelligence Science)
- Clustering
- Regressions
- Perceptrons
- Training
- یک لایبرری جاوا اسکریپتی مبتنی بر مرورگر برای اجرای مدلهای یادگیری ماشینی
- Tutorial
- OpeTutorialrations
- Visor
- Models
یادگیری ماشین
- Perceptrons
- Recognition
- Training
- Testing
- Canvas
- Plotly.js
- Chart.js
- Google Chart
هوش مصنوعی(Artificial Intelligence)
یکی از بزرگترین نوآوران در زمینه یادگیری ماشینی، جان مک کارتی بود که به عنوان
“پدر هوش مصنوعی” شناخته می شود
.در اواسط دهه 1950، مک کارتی اصطلاح “Artificial Intelligence” را ابداع کرد و آن را به عنوان
“علم ساخت ماشین های هوشمند” تعریف کرد.الگوریتم ها از آن زمان به اینجا رسیده اند.
چرا هوش مصنوعی(Artificial Intelligence) اکنون جالب تر شده است؟
قدرت محاسباتی به اندازه کافی قوی نبوده است
فضای ذخیره سازی رایانه به اندازه کافی بزرگ نبوده است
big data در دسترس نبوده است
اینترنت سریع در دسترس نبوده است
نیروی قوی دیگر، سرمایهگذاریهای عمده شرکتهای بزرگ (گوگل، مایکروسافت، فیسبوک، یوتیوب) است، زیرا مجموعه دادههای آنها بسیار بزرگتر از آن شده است که بهطور سنتی مدیریت شوند.
فرمول تصمیم گیری هوشمند
نتیجه همه اقدامات را ذخیره کنید
تمام نتایج ممکن را شبیه سازی کنید
اقدام جدید را با اقدامات قبلی مقایسه کنید
خوب یا بد بودن عملکرد جدید را بررسی کنید
اگر عملکرد جدید بدتر است آن را انتخاب کنید
دوباره همه این کار را انجام دهید
فیلم ها
1927 | Metropolis |
1968 | 2001 A Space Odyssey |
1973 | Westworld (Film) |
1977 | Demon Seed |
1982 | Blade Runner |
1984 | The Terminator |
1986 | Short Circuit |
1999 | Bicentennial Man |
1999 | The Matrix |
2001 | A.I. (Spielberg) |
2013 | Her |
2014 | Ex Machina |
2016 | Westworld (HBO Series) |
هوش انسان
- اعداد و کلمات
- زبان ها
- تفکر انتزاعی (تخیل ،استعاره ، قیاس)
چالش هوش مصنوعی(Artificial Intelligence) این است که بفهمیم هوش چیست و هوش چگونه کار می کند.
تفاوت دانش انسان با هوش مصنوعی(Artificial Intelligence) چیست؟
هوش ممکن است نوعی الگوریتم در مغز یا در ژنهای ما باشد.؟
ایا هوش انسان با هوش حیوان تفاوت دارد ؟
تاریخچه زبان ها
زبان چیست
- زبان یک سیستم ساختار یافته ارتباطی است.نوع ارتباطی که شامل استفاده از کلمات است.
- میمون ها و نهنگ ها با یکدیگر ارتباط برقرار می کنند.
- پرندگان و زنبورها با یکدیگر ارتباط برقرار می کنند.
- اما فقط انسان ها زبان واقعی را توسعه داده اند.هیچ گونه دیگری نمی تواند با استفاده از جملات ساخته شده توسط مجموعه ای از کلمات (با افعال و اسم) ایده ها را بیان کند.این مهارت قابل توجه است. و نکته قابل توجه تر: حتی کودکان نیز به این مهارت تسلط دارند.
Cognetive development
- طبق نظر هاوزر، چامسکی و فیچ (2002)، شش جنبه از رشد زبان وجود دارد:
- نظریه ذهن
- درک سیگنال های صوتی
- تقلید
- اعداد
- ارتباط عمدی
- بازنمایی های غیر زبانی
زبان انسان
Human languages شامل مجموعه محدودی از کلمات است که در جملات کنار هم قرار گرفته اند.
زبان کامپیوتر
کامپیوترها با مجموعه محدودی از کلمات که در دستورات کامپیوتری کنار هم قرار می گیرند برنامه ریزی می شوند
<html>
<body>
<h2>JavaScript Array Sort</h2>
<p>Sort the array in ascending order:</p>
<p id=”demo1″></p>
<p id=”demo2″></p>
<script>
const points = [40, 100, 1, 5, 25, 10];
document.getElementById(“demo1”).innerHTML = points;
points.sort(function(a, b){return a – b});
document.getElementById(“demo2”).innerHTML = points;
</script>
</body>
</html>
JavaScript Array Sort
Sort the array in ascending order:
40,100,1,5,25,10
1,5,10,25,40,100
اعداد
- اعداد
- شمارش
- مکالمه دو دانشمند بابلی برای نام گذاری اعداد
- Dozenal (12day,night,month)
- Sexagesimal (base 60) (minute,seconds)
- اعداد رومی
- Digital Numbers (Base 2)
محاسبات
- چرتکه ،کامپیوترهای آنالوگ، کامپیوترهای دیجیتال ،کامپیوترهای الکترونیکی ، سرعت کامپیوتر
- موتور متفاوت (چارلز بابیج 1822) یک ماشین مکانیکی بود که برای کاهش زمان برای محاسبه توابع پیچیده ریاضی طراحی شده بود.
- موتور تحلیلی (چارلز بابیج 1833) یک ماشین مکانیکی بود که با عناصر کامپیوتری مدرن مانند حساب، منطق و حافظه طراحی شده بود.
- هر دوی این “رایانه ها” از چرخ دنده های مکانیکی 10 رقمی (اعشاری) برای انجام محاسبات ریاضی استفاده کردند.
Symbol: |
I | V | X | L | C | D | M |
Value: | 1 | 5 | 10 | 50 | 100 | 500 | 1000 |
کامپیوتر دیجیتال
اولین کامپیوتر دیجیتال الکتریکی توسط Konrad Zuse در آلمان (1941) طراحی و ساخته شد.از 2600 رله الکتریکی به عنوان سوئیچ 0/1 استفاده کرد. سرعت حدود 5 هرتزدر ساعت بود.
کامپیوتر آنالوگ
کامپیوترهای نسل اول (1945-1950) از لوله های خلاء به عنوان سوئیچ های باینری استفاده کردند.لوله های خلاء بسیار سریعتر از رله های الکتریکی هستند.سرعت کلاک این کامپیوترها بین 500 کیلوهرتز تا 1 مگاهرتز بود.
ربات ها
ربات های صنعتی
- این «ربات ها» باهوش به حساب نمی آیند. آنها ماشین های الکتریکی هستند که برای اجازه حرکت بازوی 6 محوره طراحی شده اند. اما طراحی جدید به ماشین اجازه داد تا مسیر برنامه ریزی شده ای را دنبال کند و برای “کارهای رباتی” مانند رنگ آمیزی ماشین، جوشکاری و مونتاژ باز شود.شرکت ربات پیشگام Unimation (با پشتیبانی جنرال موتورز) طرح Scheinman را به عنوان PUMA (ماشین جهانی قابل برنامه ریزی برای مونتاژ) معرفی کرد.بیشتر ربات های صنعتی غیرهوشمند هستند.گفته میشود که بیشتر رباتهای مدرن مستقل یا نیمه خودمختار هستند، زیرا پس از برنامهریزی به کمک انسانی زیادی نیاز ندارند.یک ربات به راحتی می تواند برای انجام کارهای مختلف (مانند خط مونتاژ) برنامه ریزی شود، اما هرگز کاری را که انجام می دهد تغییر نمی دهد. تا زمانی که آن را خاموش نکنید به همان کار ادامه می دهد.
- ربات ها و هوش مصنوعی دو چیز متفاوت هستند.
-
ربات های هوش مصنوعی
- هوش مصنوعی را می توان در روبات ها ساخت و هوش مصنوعی یک زمینه بسیار هیجان انگیز در رباتیک آینده است.سوفیا از شرکت هانسون رباتیک تجسم برخی از رویاهای آینده هوش مصنوعی است.سوفیا ترکیبی از علم، مهندسی و هنر است. او یک شخصیت علمی تخیلی ساخته دست بشر است که آینده هوش مصنوعی و روباتیک را به تصویر می کشد.
- ربات ها و جایگزینی شغل
- در سال 2013، دانشمندان آکسفورد، کارل بندیکت فری و مایکل ای. آزبورن، احتمالی را منتشر کردند که 47 درصد از تمام حرفه ها در دو دهه آینده توسط کامپیوترها تصاحب خواهند شد.
حسابداری
خرید و مشتریان
کارگران تولید
خواندن و نوشتن
کافی من
سرویس پست
خلبانان هواپیما
رانندگان و مشاغل حمل و نقل
- نمونه هایی از هوش مصنوعی:
-
Self Driving Cars
- E-Payment
- Google Maps
- Text Autocorrect
- Automated Translation
- Chatbots
- Social Media
- Face Detection
- Search Algorithms
- Robots
- Automated Investment
- NLP – Natural Language Processing
- Flying Drones
- Dr. Watson
- Apple Siri
- Microsoft Cortana
- Amazon Alexa
-
هوش مصنوعی موسیقی
- آیا یک الگوریتم می تواند موسیقی بهتری از یک انسان بسازد؟دیوید کوپ استاد سابق موسیقی در دانشگاه سانتا کروز (کالیفرنیا) است.برای بیش از 30 سال، دیوید کوپ در حال توسعه Emmy یا EMI (هوش تجربی موسیقی)، الگوریتمی برای ساخت موسیقی به سبک آهنگسازان مشهور است.
-
هوش مصنوعی سلامت
- همهگیری کرونا نیاز به بهینهسازی مراقبتهای پزشکی را افزایش داد
- .یادگیری ماشینی یک فناوری جدید است که میتواند کشف بهتر دارو، زمان توسعه کوتاهتر و هزینه کمتر دارو را فراهم کند.یادگیری ماشینی، مراقبت های بهداشتی را قادر می سازد از «داده های بزرگ» برای تصمیم گیری های پزشکی یا بالینی بهتر استفاده کند.
- FDA Statement
- Project Baseline
نظریه ذهن
- Thoughts
- Feelings
- Emotions
- Self Awareness
- Empathy
ذهن چیست ؟
علوم شناختی
علم شناختی مطالعه فرآیندهای ذهن است.یک دانشمند شناختی به مطالعه هوش و رفتار می پردازد.علم شناختی بر چگونگی پردازش و
تبدیل اطلاعات توسط سلول های مغز تمرکز دارد.علوم شناختی همچنین سعی می کند یاد بگیرد که چگونه الگوریتم های کامپیوتری هوشمند را توسعه دهد.
مدل ذهنی
مدل ذهنی تصویری درونی از واقعیت بیرونی است.دانشمندان انتظار دارند که یک مدل نقش عمده ای در استدلال و تصمیم گیری (شناخت) ایفا کند.
کنت کریک در سال 1943 پیشنهاد کرد که ذهن هنگام تلاش برای پیشبینی رویدادها «مدلهای کوچک مقیاس» از واقعیت را میسازد.
آیا هوش مصنوعی می تواند انسان باشد؟
دانشمندان در تلاشند تا کشف کنند چه چیزی هوش انسان را از هوش مصنوعی جدا می کند
2000: ماشین های راکتیو
2015: یادگیری ماشینی
2030: نظریه ذهن
2050: خودآگاهی
Reactive Machines
- سیستمهای هوش مصنوعی اولیه واکنشپذیر بودند. سیستم های واکنشی نمی توانند از تجربیات گذشته استفاده کنند.در سال 1997 یک ماشین واکنشی (“IBM Deep Blue”) قهرمان جهان در شطرنج را شکست داد.”دیپ آبی” نمی توانست فکر کند. اما اطلاعات مربوط به صفحه شطرنج و قوانین حرکت مهره های شطرنج را ذخیره می کرد.”دیپ آبی” برنده شد زیرا برنامه ریزی شده بود تا هر حرکت را برای برد محاسبه کند.
Machine Learning
امروزه سیستم های هوش مصنوعی می توانند از برخی اطلاعات گذشته استفاده کنند.یکی از نمونه ها خودروهای خودران است. آنها می توانند اطلاعات از پیش برنامه ریزی شده را با اطلاعاتی که جمع آوری می کنند در حالی که رانندگی را یاد می گیرند ترکیب کنند.
Theory of Mind
- نظریه ذهن اصطلاحی از روانشناسی در مورد ظرفیت فرد برای همدلی و درک دیگران است
- درس دادن ایجاد اهداف مشترک ساخت پلان های مشترک ارتباط عمدی به اشتراک گذاری عمدی موضوع اشتراک گذاری عمدی تمرکز اقناع عمدی تظاهر عمدی فریب عمدی
Self-Awareness
- در روانشناسی، «نظریه ذهن» به این معناست که افراد افکار، احساسات و عواطفی دارند که بر رفتار آنها تأثیر می گذارد.سیستمهای هوش مصنوعی آینده باید یاد بگیرند که بفهمند همه (اعم از افراد و اشیاء هوش مصنوعی) افکار و احساسات دارند.سیستمهای هوش مصنوعی آینده باید بدانند چگونه رفتار خود را تنظیم کنند تا بتوانند در میان ما راه بروند.آخرین مرحله، قبل از اینکه هوش مصنوعی انسان شود، آگاهی ماشینی است.ما نمی توانیم این نرم افزار را قبل از اینکه اطلاعات بیشتری در مورد مغز، حافظه و هوش انسان بدانیم، بسازیم.
برنامه نویسی هوش مصنوعی(Artificial Intelligence)
- زبان های برنامه نویسی درگیر در هوش مصنوعی عبارتند از:
- LISP
- R
- Python
- C++
- Java
- JavaScript
- SQL
:LISP
- دومین زبان برنامه نویسی قدیمی در جهان (1958) است که تنها یک سال از Fortran (1957) جوانتر است.
- اصطلاح هوش مصنوعی توسط جان مک کارتی که LISP را اختراع کرد ساخته شد.LISP
- بر اساس تئوری توابع بازگشتی (یک تابع در تعریف خود ظاهر می شود) پایه گذاری شد.توابع بازگشتی را می توان به عنوان توابع خود تغییردهنده نوشت و این برای برنامه های هوش مصنوعی که در آن “خودآموزی” بخش مهمی از برنامه است بسیار مناسب است.
- R: یک زبان برنامه نویسی برای گرافیک و محاسبات آماری است. توسط بنیاد R برای محاسبات آماری پشتیبانی می شود.با مجموعه گسترده ای از تکنیک های آماری و گرافیکی برای موارد زیر ارائه می شود:
- مدلسازی خطی
- مدلسازی غیرخطی
- آزمون های آماری
- تجزیه و تحلیل سری زمانی
- طبقه بندی
- خوشه بندی
- پایتون :
- پایتون یک زبان برنامه نویسی همه منظوره است. می توان از آن برای انواع برنامه نویسی و توسعه نرم افزار استفاده کرد.
- پایتون معمولا برای توسعه سرور استفاده می شود، مانند ساخت برنامه های وب برای سرورهای وب.پایتون معمولاً در علم داده نیز استفاده می شود.مزیت استفاده از پایتون این است که دارای کتابخانه های بسیار مناسبی است:
- NumPy کتابخانه ای برای کار با آرایه ها
- SciPy کتابخانه علوم آماری
- Matplotlib کتابخانه ترسیم نمودار
- NLTK کتاب ابزار زبان طبیعی
- TensorFlow یادگیری ماشین
C++
- عنوان “سریع ترین زبان برنامه نویسی جهان” را دارد.
- به دلیل سرعت، ++Cیک زبان ترجیحی برای برنامه نویسی بازی های رایانه ای است
- .اجرای سریع تری را ارائه می دهد و زمان پاسخ کمتری دارد که در موتورهای جستجو و توسعه بازی های رایانه ای اعمال می شود.
- گوگل از ++Cدر برنامه های هوش مصنوعی برای سئو (بهینه سازی موتور جستجو) استفاده می کند.
- sharkیک کتابخانه فوق سریع با پشتیبانی از الگوریتم های یادگیری نظارت شده، رگرسیون خطی، شبکه های عصبی و خوشه بندی است.MLPACK یک کتابخانه یادگیری ماشینی فوق سریع است که برای ++C نوشته شده است.
جاوا
- جاوا یکی دیگر از زبان های برنامه نویسی همه منظوره است که می تواند برای انواع توسعه نرم افزار استفاده شود.
- برای هوش مصنوعی، جاوا بیشتر برای ایجاد راه حل های یادگیری ماشین، الگوریتم های جستجو و شبکه های عصبی استفاده می شود.
SQL
- زبان پرس و جو ساختاریافته محبوب ترین زبان برای مدیریت داده ها است.
- دانش پایگاه داده ها، جداول و پرس و جوهای SQL به دانشمندان داده در هنگام برخورد با داده ها کمک می کند.SQL
- برای ذخیره، دستکاری و بازیابی داده ها در پایگاه داده بسیار راحت است.
- اکثر برنامه های کاربردی هوش مصنوعی از R یا Python استفاده می کنند .اما این روزها، چندین چارچوب هوش مصنوعی جاوا اسکریپت در حال ظهور هستند . چارچوب های جاوا اسکریپت اجرای وظایف هوش مصنوعی در مرورگر را ممکن می کند.
- آیا جاوا اسکریپت برای هوش مصنوعی خوب است؟
- اما جاوا اسکریپت آینده خوبی به عنوان یک زبان هوش مصنوعی دارد و حتی مزایایی نیز دارد:
- جاوا اسکریپت بیشتر شناخته شده است.
- همه توسعه دهندگان می توانند از آن استفاده کنند. امنیت داخلی است.
- نمی تواند به فایل های شما دسترسی داشته باشد.
- سریعتر از پایتون است.
- مدرن در کد ماشین کامپایل می شود.
- مدرن می تواند از شتاب سخت افزاری استفاده کند.
- WebG
- L APIWebGL یک API جاوا اسکریپت برای ارائه گرافیک های دو بعدی و سه بعدی در هر مرورگری است.
- .WebGL می تواند بر روی هر دو کارت گرافیک یکپارچه و مستقل در هر رایانه شخصی اجرا شود.WebGL گرافیک سه بعدی را به مرورگر وب می آورد. فروشندگان عمده مرورگر اپل (Safari)، گوگل (Chrome)، مایکروسافت (Edge) و Mozilla (Firefox) اعضای گروه کاری WebGL هستند.
- شبکه های عصبی با جاوا اسکریپت
- هوش مصنوعی می تواند حسابی سنگین باشد.
- ماهیت شبکههای عصبی بسیار فنی است و اصطلاحات واژگانی که همراه با آن میآیند باعث ترس مردم میشود.اینجاست که جاوا اسکریپت می تواند به شما کمک کند. برای سادهسازی فرآیند ایجاد و آموزش شبکههای عصبی، به APIهای نرمافزاری آسان نیاز داریم.
-
هوش مصنوعی در مرورگر به این معنی است:
- در جاوا اسکریپت
- برای همه افراد در وب
- در بیشتر پلتفرم ها هوش مصنوعی برای مخاطبان گسترده تر
- ریاضی در مرورگرMath.js
- یک کتابخانه ریاضی گسترده برای جاوا اسکریپت و Node.js است
- .Math.js قدرتمند و آسان برای استفاده است. دارای مجموعه بزرگی از توابع داخلی، تجزیهکننده عبارت انعطافپذیر و راهحلهایی برای کار با انواع دادهها مانند اعداد، اعداد بزرگ، اعداد مختلط، کسرها، واحدها، آرایهها و ماتریسها است.
- یادگیری ماشین در مرور گر
- Brain.js یک شبکه عصبی با شتاب GPU در جاوا اسکریپت برای مرورگرها و Node.js است.
- استفاده از Brain.js ساده است.
- برای کار با Brain.js نیازی به دانستن جزئیات شبکه های عصبی ندارید
- .Brain.js چندین پیاده سازی شبکه عصبی را فراهم می کند زیرا شبکه های عصبی مختلف را می توان برای انجام کارهای مختلف به خوبی آموزش داد.
-
ترسیم در مرورگر
- در اینجا لیستی از چند کتابخانه جاوا اسکریپت برای استفاده برای نمودارهای هوش مصنوعی و نمودارهای دیگر آمده است:
- Plotly.js
- Chart.js
- نمودار گوگل
ریاضیات
- شاخه های اصلی ریاضیات درگیر هوش مصنوعی هستند
- توابع خطی
- گرافیک خطی
- جبر خطی
- احتمال
- آمار
هوش مصنوعی = ریاضی
پشت هر موفقیت هوش مصنوعی، ریاضیات وجود دارد
.تمام مدل های هوش مصنوعی با استفاده از راه حل ها و ایده های ریاضی ساخته شده اند.
هدف هوش مصنوعی ایجاد مدل هایی برای درک تفکر است.
اگر می خواهید شغل هوش مصنوعی داشته باشید:
دانشمند داده
مهندس یادگیری ماشین
ربات دانشمند
تحلیلگر داده
کارشناس زبان طبیعی
دانشمند یادگیری عمیق
شما باید بر روی مفاهیم ریاضی که در ادامه گفته شده است تمرکز کنید.
توابع خطی
خطی به معنای مستقیم است
تابع خطی یک خط مستقیم است
یک نمودار خطی نشان دهنده یک تابع خطی است
توابع خطی
معادلات خطی
معادلات غیر خطی
رگرسیون خطی
Linear Least Squares
علم هوش مصنوعی
- هوش مصنوعی مجموعه ای از علوم مختلف است:
- Machine Learning (ML)
- Neural Networks (NN)
- Deep Learning (DL)
- Big Data
دانشمندان هوش مصنوعی
دانشمندان هوش مصنوعی با الگوریتم ها نرم افزاری می سازند که می تواند کارهایی را انجام دهد که معمولاً به هوش انسانی نیاز دارند.آنها می توانند در چندین رشته هوش مصنوعی متخصص باشند:ریاضیات کاربردی، آمار محاسباتی،علوم کامپیوتر،یاگیری ماشین،یادگیری عمیق.
همچنین برخی از ان ها تجربه های قابل توجهی در زمینه های:
- Business Intelligence
- DB Design
- Data Warehouse Design
- Data Mining
- SQL Queries
- SQL Reporting
-
هوش مصنوعی ضعیف
- به نواحی خاص یا باریک محدود می شود، مانند بسیاری از هوش مصنوعی که امروزه در اطراف خود داریم:
- موتورهای جستجو
- سیری اپل
- کورتانای مایکروسافت
- الکسای آمازون
- واتسون IBM
- به هوش مصنوعی ضعیف، هوش مصنوعی باریک نیز گفته می شود.
- هوش مصنوعی ضعیف شناخت انسان را شبیه سازی می کند در مقابل هوش مصنوعی قوی که دارای شناخت انسانی است.
-
هوش مصنوعی قوی
- نوعی از هوش مصنوعی است که هوش انسانی را تقلید می کند.
- توانایی تفکر، برنامه ریزی، یادگیری و برقراری ارتباط را نشان می دهد.
- سطح نظری بعدی هوش مصنوعی است
- به سمت ماشین هایی با خودآگاهی، آگاهی و افکار عینی حرکت می کند.
(لازم نیست تصمیم بگیریم که آیا یک ماشین می تواند “فکر کند”.فقط باید تصمیم گرفت که آیا یک ماشین می تواند به اندازه یک انسان هوشمندانه عمل کند یا خیر.)
آلن تورینگ
- یادگیری ماشین
- در روش محاسبات سنتی Data + Computer Program = Result
- در یادگیری ماشین Data + Result = Computer Program
شبکه های عصبی
شبکه های عصبی یکی از مهمترین اکتشافات تاریخ است
در شبکههای عصبی، لایههای زیادی از دادهها به نام نورونها با هم جمع میشوند یا روی هم چیده میشوند تا سطوح جدیدی از داده را محاسبه کنند
اسامی مخفف رایج عبارتنداز:
- DNN Deep Neural Network
- CNN Convolutional Neural Network
- RNN Recurrent Neural Network
یادگیری عمیق DEEP Learning
- یادگیری عمیق الگوریتم هایی هستند که از شبکه های عصبی برای استخراج داده های سطح بالاتر استفاده می کنند.
- هر لایه متوالی از لایه قبلی به عنوان ورودی استفاده می کند.
- به عنوان مثال، خواندن نوری از لایه های پایین برای شناسایی لبه ها و لایه های بالاتر برای شناسایی حروف استفاده می کند.یادگیری عمیق دو مرحله دارد:
- 1. آموزش: داده های ورودی برای محاسبه پارامترهای مدل استفاده می شود
- .2. استنتاج: مدل “آموزش داده شده” داده ها را از هر ورودی داده شده خروجی می دهد.
- انقلاب یادگیری عمیق
- انقلاب یادگیری عمیق در حدود سال 2010 آغاز شد. از آن زمان، یادگیری عمیق برای حل بسیاری از مسائل “حل نشدنی” استفاده شده است.
- Imagenet,wordnet
تاریخچه هوش مصنوعی
1950 |
Alan Turing publishes “Computing Machinery and Intelligence” |
1956 | AI first mentioned by John McCarthy in an academic conference |
1957 | First programming language for numeric and scientific computing (FORTRAN) |
1958 | First AI programming language (Lisp) |
1959 | Arthur Samuel used the term “Machine Learning” |
1961 | First industrial robot (Unimate) on the assembly line at General Motors. |
1965 | ELIZA by Joseph Weizenbaum was the first interactive program that could communicate on any topic |
1972 | First logic programming language (PROLOG) |
1997 | Deep Blue (IBM) beats the world champion in chess |
2002 | The first robot cleaner (Roomba) |
2005 | Self-driving car (STANLEY) wins DARPA |
2008 | Breakthrough in speech recognition (Google) |
2011 | A neural network wins over humans in traffic sign recognition (99.46% vs 99.22%) |
2011 | Apple Siri |
2011 | Watson (IBM) wins Jeopardy! |
2014 | Amazon Alexa |
2014 | Microsoft Cortana |
2014 | Self-driving car (Google) passes a state driving test |
2015 | Google AlphaGo defeated various human champions in the board game Go |
2016 | The human robot Sofia by Hanson Robotics |
- تا 80 درصد از پروژه های هوش مصنوعی مربوط به جمع آوری داده ها است:
چه داده هایی مورد نیاز است؟
چه داده هایی در دسترس است؟
چگونه داده ها را انتخاب،جمع آوری،پاک،آماده،استفاده کنیم؟
داده چیست ؟
داده هرچیزی میتواند باشد:
Type | Examples |
Numbers | Prices. Dates. |
Measurements | Size. Height. Weight. |
Words | Names and Places. |
Observations | Counting Cars. |
- هوش به داده نیاز دارد
- هوش انسان به داده ها نیاز دارد
- :یک مشاور ملک برای تخمین قیمت ها به داده هایی در مورد خانه های فروخته شده نیاز دارد.
- هوش مصنوعی به داده ها نیاز دارد:
- یک برنامه کامپیوتری نیز برای تخمین قیمت ها به داده نیاز دارد.
ذخیره سازی داده ها
رایج ترین داده هایی که جمع آوری می شود اعداد و اندازه گیری ها هستند.اغلب داده ها در آرایه هایی ذخیره می شوند که نشان دهنده رابطه بین مقادیر هستند.
کمی در مقابل کیفی
کمی ، داده های عددی مانند تعداد خودرو و تعداد فرزندان
کیفی ، داده های توصیفی مانند ؛ سرد بودن،طولانی بودن
- سرشماری یا نمونه گیری
- سرشماری زمانی است که ما داده ها را برای هر عضو یک گروه جمع آوری می کنیم.
- نمونه زمانی است که ما داده هایی را برای برخی از اعضای یک گروه جمع آوری می کنیم.
- اگر میخواستیم بدانیم چه تعداد از آمریکاییها سیگار میکشند، میتوانیم از هر فرد در ایالات متحده بپرسیم (سرشماری)، یا میتوانیم از 10000 نفر (نمونه) بپرسیم.
- سرشماری دقیق است، اما انجام آن سخت است. یک نمونه نادرست است، اما انجام آن آسان تر است.
- شرایط نمونه گیری
- جمعیت گروهی از افراد (اشیاء) است که می خواهیم اطلاعاتی را از آنها جمع آوری کنیم.
- سرشماری اطلاعات مربوط به هر فرد در یک جمعیت است.
- یک نمونه اطلاعات مربوط به بخشی از جامعه (به منظور نشان دادن همه) است.
- نمونه های تصادفی
- برای اینکه نمونه ای بتواند یک جامعه را نشان دهد، باید به صورت تصادفی جمع آوری شود
- .نمونه تصادفی، نمونهای است که هر یک از اعضای جامعه شانس یکسانی برای حضور در نمونه دارند.
- سوگیری نمونه گیرییک سوگیری نمونه گیری (خطا) زمانی رخ می دهد که نمونه ها به گونه ای جمع آوری شوند که برخی افراد کمتر (یا بیشتر) در نمونه گنجانده شوند.
خوشه های داده Data Clusters
- مجموعه ای از داده های مشابه هستند
- نوعی یادگیری بدون نظارت است
- ضریب همبستگی قدرت یک رابطه را توصیف می کند
(خوشه ها )Clusters
خوشه ها مجموعه ای از داده ها بر اساس شباهت هستند.نقاط دادهای که در یک نمودار با هم خوشهبندی شدهاند، اغلب میتوانند به خوشهها طبقهبندی شوند
درگراف زیر 3 دسته خوشه را مشاهده میکنید:
شناسایی خوشه ها(Identifying Clusters)
- خوشه ها می توانند اطلاعات ارزشمند زیادی را در خود جای دهند،
- اما خوشه ها انواع مختلفی دارند، بنابراین چگونه می توانیم آنها را تشخیص دهیم؟
- دو روش اصلی عبارتند از:
- استفاده از تجسم
- با استفاده از الگوریتم خوشه بندی
Clustering خوشه بندی
Clustering نوعی یادگیری بدون نظارت است.خوشه بندی در تلاش است تا داده های مشابه را در گروه جمع آوری کنید جمع آوری داده های متفاوت در گروه های دیگر.
روش های:
- خوشه بندی Clustering Methods
- چگالی Density Method
- سلسله مراتبی Hierarchical Method
- پارتیشن بندی Partitioning Method
- مبتنی بر شبکه Grid-based Method
- چگالی نقاطی را در نواحی متراکم در نظر میگیرد که شباهتها و تفاوتهای بیشتری نسبت به نقاطی در یک ناحیه با متراکم کمتر دارند. روش چگالی دقت خوبی دارد. همچنین قابلیت ادغام خوشه ها را دارد.دو الگوریتم رایج DBSCAN و OPTICS هستند.
- سلسله مراتبی خوشه ها را در ساختاری از نوع درختی تشکیل می دهد. خوشه های جدید با استفاده از خوشه های قبلی تشکیل می شوند.دو الگوریتم رایج CURE و BIRCH هستند.
- مبتنی بر گرید داده ها را در تعداد محدودی سلول فرموله می کند که ساختار شبکه مانندی را تشکیل می دهند.دو الگوریتم رایج CLIQUE و STING هستند
- پارتیشن بندی اشیا را به k خوشه تقسیم می کند و هر پارتیشن یک خوشه را تشکیل می دهد.یکی از الگوریتم های رایج CLARANS است.
یادگیری ماشین اغلب معادل هوش مصنوعی در نظر گرفته می شود و این درست نیست. یادگیری ماشینی زیرمجموعه ای از هوش مصنوعی است. رشته ای از هوش مصنوعی است که از داده ها برای آموزش ماشین ها استفاده می کند.
Supervised Learningیادگیری تحت نظارت
یادگیری نظارت شده از داده های برچسب گذاری شده (داده ها با پاسخ های شناخته شده) برای آموزش الگوریتم ها به موارد زیر استفاده می کند:
طبقه بندی داده ها پیش بینی نتایج
یادگیری تحت نظارت میتواند دادههایی مانند «هرزنامه در ایمیل چیست» را بر اساس نمونههای هرزنامه شناخته شده طبقهبندی کند.می تواند بر اساس ویدیوهایی که پخش کرده اید، نتایجی مانند پیش بینی نوع ویدیویی را که دوست دارید پیش بینی کند.
- یادگیری بدون نظارت UnSupervised Learning
- برای پیش بینی روابط تعریف نشده مانند الگوهای معنادار در داده ها استفاده می شود.این در مورد ایجاد الگوریتم های کامپیوتری است که می تواند خود را بهبود بخشد.انتظار می رود که یادگیری ماشین به یادگیری بدون نظارت تغییر کند تا به برنامه نویسان اجازه دهد بدون ایجاد مدل، مسائل را حل کنند.
Self-Supervised Learning یادگیری خود نظارتی یادگیری خود نظارتی مشابه یادگیری بدون نظارت است زیرا هر دو با داده ها بدون برچسب های اضافه شده توسط انسان کار می کنند.تفاوت در این است که یادگیری بدون نظارت از خوشه بندی، گروه بندی و کاهش ابعاد استفاده می کند، در حالی که یادگیری خود نظارتی نتایج خود را برای وظایف رگرسیون و طبقه بندی می کند.
- شبکه های عصبی Neural Networks
- شبکه های عصبی مصنوعی معمولاً شبکه های عصبی (NN) نامیده می شوند. در واقع پرسپترون های چند لایه هستند.پرسپترون اولین گام را در شبکه های عصبی چند لایه تعریف می کند.
مدل شبکه عصبی
داده های ورودی (زرد) در برابر یک لایه پنهان (آبی) پردازش می شوند و در برابر یک لایه پنهان دیگر (سبز) اصلاح می شوند تا خروجی نهایی (قرمز) تولید شود.
- شبکه های عصبی با جاوا اسکریپت
- هوش مصنوعی می تواند حسابی سنگین باشد. ماهیت شبکههای عصبی بسیار فنی است و اصطلاحات واژگانی که همراه با آن میآیند باعث ترس مردم میشود.جاوا اسکریپت می تواند به شما کمک کند. برای سادهسازی فرآیند ایجاد و آموزش شبکههای عصبی، به APIهای نرمافزاری آسان نیاز داریم.
Brain.js
یک کتابخانه جاوا اسکریپت است که درک شبکه های عصبی را آسان می کند زیرا پیچیدگی ریاضیات را پنهان می کند.
Perceptrons
- پرسپترون یک نورون مصنوعی ،ساده ترین شبکه عصبی ممکن است شبکه های عصبی بلوک های سازنده هوش مصنوعی هستند.
- فرانک روزنبلات (۱۹۲۸ – ۱۹۷۱) روانشناس آمریکایی بود که در زمینه هوش مصنوعی برجسته بود.در سال 1957 او کار بسیار بزرگی را آغاز کرد.
- دانشمندان کشف کرده بودند که سلول های مغز (نورون ها) ورودی حواس ما را توسط سیگنال های الکتریکی دریافت می کنند.نورونها دوباره از سیگنالهای الکتریکی برای ذخیره اطلاعات و تصمیمگیری بر اساس ورودی قبلی استفاده میکنند.
- .فرانک این ایده را داشت که نورون های مصنوعی می توانند اصول مغز را با توانایی یادگیری و تصمیم گیری شبیه سازی انجام دهند. این افکار، او پرسپترون را “اختراع” کرد.Perceptron در سال 1957 بر روی یک کامپیوتر IBM 704 در آزمایشگاه هوانوردی کورنل آزمایش شد.
Perceptron
Perceptron اصلی برای گرفتن تعدادی ورودی باینری و تولید یک خروجی باینری (0 یا 1) طراحی شده بود.ایده این بود که از وزن های مختلف برای نشان دادن اهمیت هر ورودی استفاده شود و مجموع مقادیر باید بیشتر از مقدار آستانه قبل از تصمیم گیری درست یا نادرست (0 یا 1) باشد.
شبکه های عصبی در برنامه هایی مانند تشخیص چهره استفاده می شوند.
این برنامه ها از تشخیص الگو استفاده می کنند.
این نوع طبقه بندی را می توان با پرسپترون انجام داد.
Training and Deploying
Machine Learning Models
In the Browser
- مدل ها و لایه ها بلوک های سازنده مهم در یادگیری ماشین هستند.برای وظایف مختلف یادگیری ماشین باید انواع مختلفی از لایه ها را در یک مدل ترکیب کنید که بتوان با داده ها آموزش داد تا مقادیر آینده را پیش بینی کند.TensorFlow.js از انواع مدلها و انواع لایهها پشتیبانی میکند.مدل TensorFlow یک شبکه عصبی با یک یا چند لایه است.
- یک پروژه TENSORFLOWشامل مراحل زیر است
- Collecting Data
- Creating a Model
- Adding Layers to the Model
- Compiling the Model
- Training the Model
- Using the Mo