Искусственный интеллект, нейронные сети, бла-бла-бла, все это звучит пугающе, не так ли? Многие думают о них как о более чем 5000 строк сложного кода, обученного в течение 480 часов с точностью 99,5%. Но я думаю об ИИ как о способе точного разделения между А и Б.
Подумайте об этом так: есть 2 красных ракушки и 3 синих. Нарисуйте линию, которая разделяет их обоих. Вы можете легко выполнить эту задачу, но когда вы попросите сделать это робота, это будет гораздо более сложный процесс.
В 1950-х годах была изобретена первая в истории программа искусственного интеллекта, названная Logic Theorist. Он был разработан, чтобы имитировать умственные способности человека-математика, чтобы создавать доказательства лучше, чем люди-математики. На момент его создания термина «искусственный интеллект» еще не существовало.
Подошла прекрасная возможность представить эту программу. Именно в Дартмутской мастерской или «месте рождения ИИ» изобретатели Ньюэлл и Саймон, пробывшие там всего несколько дней, стали звездами шоу. Вскоре после этого The Logic Theorist стал пионером в области искусственного интеллекта, эвристического программирования и компьютерного программирования.
А теперь попробуйте сравнить это с тем, что мы имеем сегодня: у нас есть ChatGPT, DALL·E, беспилотные автомобили и все эти сумасшедшие штуки. Вы можете себе представить, какой прогресс был достигнут за последние 7 десятилетий?
Итак, я сделал этот проект несколько недель назад, и это был мой первый шаг к изучению ИИ. Те курсы, которые я видел в Интернете, были слишком сложными для тех, кто знает только Python. Я начал с просмотра бесплатного курса искусственного интеллекта Udacity и создания заметок. Но после 15 роликов понять становилось все труднее, плюс математика стала выглядеть пугающе. (это плохой знак)
Что вижу, то и помню. Что делаю, то понимаю — какой-то китайский чувак
Вместо этого, а не просто делать заметки. Я собирался кодировать вместе с видео. Поэтому с каждым видео я пытался кодировать то, что было показано. Это работало очень хорошо, я действительно понимал код. Но не буду врать, некоторые алгоритмы я просто скопировал, а потом попытался понять.
Код, который я сделал, автоматически рисует линию наилучшего соответствия между A и B и может предсказать, какая точка является какой. Я сделал это на python Juypter Notebook, чтобы все визуальные эффекты можно было показать в одном месте.
И видео для более подробного объяснения.
Он работает:
- Принимая случайно сгенерированные данные точек x, y, помеченных 0 и 1.
- Генерация случайных весов и смещений (это определяет прогнозы)
- Проходя через все неправильно классифицированные точки и соответствующим образом приближая линию к ним
- Повторите шаг 3, 25 раз
- Выгода
Следующим уровнем этого будет градиентный спуск. Который требует гораздо более сложных функций, таких как:
- Функция ошибки (функция Log-Loss)
- Сигмоид (достоверность прогноза от 0 до 1)
- Шаг градиента (более продвинутый способ вычисления направления перемещения линии)
- Убыток (насколько хорошо модель предсказывает)
Я оставлю код для этого здесь, как только закончу его полировку.
Гугл твой лучший друг
И наконец, если вам понадобится помощь в написании кода, Google всегда на вашей стороне. Вы не только получите ответ, который искали, но и узнаете что-то для будущегоиспользования. Может быть, даже ChatGPT тоже работает, я довольно много использовал его в течение последнего месяца.
Спасибо за прочтение моей статьи и хорошего дня! Мир вне.