Искусственный интеллект, нейронные сети, бла-бла-бла, все это звучит пугающе, не так ли? Многие думают о них как о более чем 5000 строк сложного кода, обученного в течение 480 часов с точностью 99,5%. Но я думаю об ИИ как о способе точного разделения между А и Б.

Подумайте об этом так: есть 2 красных ракушки и 3 синих. Нарисуйте линию, которая разделяет их обоих. Вы можете легко выполнить эту задачу, но когда вы попросите сделать это робота, это будет гораздо более сложный процесс.

В 1950-х годах была изобретена первая в истории программа искусственного интеллекта, названная Logic Theorist. Он был разработан, чтобы имитировать умственные способности человека-математика, чтобы создавать доказательства лучше, чем люди-математики. На момент его создания термина «искусственный интеллект» еще не существовало.

Подошла прекрасная возможность представить эту программу. Именно в Дартмутской мастерской или «месте рождения ИИ» изобретатели Ньюэлл и Саймон, пробывшие там всего несколько дней, стали звездами шоу. Вскоре после этого The Logic Theorist стал пионером в области искусственного интеллекта, эвристического программирования и компьютерного программирования.

А теперь попробуйте сравнить это с тем, что мы имеем сегодня: у нас есть ChatGPT, DALL·E, беспилотные автомобили и все эти сумасшедшие штуки. Вы можете себе представить, какой прогресс был достигнут за последние 7 десятилетий?

Итак, я сделал этот проект несколько недель назад, и это был мой первый шаг к изучению ИИ. Те курсы, которые я видел в Интернете, были слишком сложными для тех, кто знает только Python. Я начал с просмотра бесплатного курса искусственного интеллекта Udacity и создания заметок. Но после 15 роликов понять становилось все труднее, плюс математика стала выглядеть пугающе. (это плохой знак)

Что вижу, то и помню. Что делаю, то понимаю — какой-то китайский чувак

Вместо этого, а не просто делать заметки. Я собирался кодировать вместе с видео. Поэтому с каждым видео я пытался кодировать то, что было показано. Это работало очень хорошо, я действительно понимал код. Но не буду врать, некоторые алгоритмы я просто скопировал, а потом попытался понять.

Код, который я сделал, автоматически рисует линию наилучшего соответствия между A и B и может предсказать, какая точка является какой. Я сделал это на python Juypter Notebook, чтобы все визуальные эффекты можно было показать в одном месте.

Это мой код здесь.

И видео для более подробного объяснения.

Он работает:

  1. Принимая случайно сгенерированные данные точек x, y, помеченных 0 и 1.
  2. Генерация случайных весов и смещений (это определяет прогнозы)
  3. Проходя через все неправильно классифицированные точки и соответствующим образом приближая линию к ним
  4. Повторите шаг 3, 25 раз
  5. Выгода

Следующим уровнем этого будет градиентный спуск. Который требует гораздо более сложных функций, таких как:

  • Функция ошибки (функция Log-Loss)
  • Сигмоид (достоверность прогноза от 0 до 1)
  • Шаг градиента (более продвинутый способ вычисления направления перемещения линии)
  • Убыток (насколько хорошо модель предсказывает)

Я оставлю код для этого здесь, как только закончу его полировку.

Гугл твой лучший друг

И наконец, если вам понадобится помощь в написании кода, Google всегда на вашей стороне. Вы не только получите ответ, который искали, но и узнаете что-то для будущегоиспользования. Может быть, даже ChatGPT тоже работает, я довольно много использовал его в течение последнего месяца.

Спасибо за прочтение моей статьи и хорошего дня! Мир вне.