Содержание статьи
Библиотека TensorFlow: пишем нейросеть и изучаем принципы машинного обучения
Как установить TensorFlow
Мы видим, что их значения связаны по какому-то правилу. Это правило: Y = 5X + 1. Но чтобы компьютер это понял, ему нужно научиться сопоставлять входные данные — X — с результатом — Y. У него сначала могут получаться странные уравнения типа: 2X — 5, 8X + 1, 4X + 2, 5X — 1. Но, обучившись немного, он найдёт наиболее близкую к исходной формулу.
Кроме того, изменился подход пользователей к промптам, чтобы добиться более качественных ответов. Например, можно попросить нейросеть пояснить решение по шагам, а еще сыграть на ее чувствах — например, пообещать угостить вкусняшкой или сказать, что от ее ответа зависит ваша карьера. Эти лайфхаки работают даже в бесплатной версии.
Выводы. ChatGPT можно использовать, чтобы получать краткие определения основных терминов из истории искусств. Но когда речь заходит о сложных вещах, например о междисциплинарных подходах, нейросети доверять не стоит. Поэтому если вы занимаетесь серьезными научными исследованиями, надежнее обращаться в архивы и библиотеки.
На всякий случай решили уточнить, почему нам не подходит Readymag. В ответ ChatGPT представила анализ этой площадки и посетовала, что она дороговата для наших целей. Кроме того, нейросеть стала описывать чудеса кастомизации в WordPress и всячески убеждать, что он не очень-то и плох.
Видимо, так происходит из-за того, что ChatGPT не умеет гуглить, и ее обучали на определенной выборке данных — хоть и большой, но не всеобъемлющей. Если информации не хватает, нейросеть начинает чаще ошибаться и выдавать неверные сведения — такой феномен называется галлюцинациями.
Машинное обучение работает по-другому. Нам нужно отдать компьютеру уже готовые результаты и входные данные и сказать: «Найди алгоритм, который сможет сделать из этих входных данных вот эти результаты». Нам неважно, как он будет это делать. Для нас важнее, чтобы результаты были точными.
Что такое TensorFlow
Выводы. В дальнейшем мы решили десятки других подобных задач, и ChatGPT справилась с ними практически идеально. Более того, нейросеть развернуто комментировала каждую строчку кода, а иногда даже делилась интересными деталями, например связанными с использованием синтаксиса в разных базах. Ставим пять с плюсом.
А ещё многое зависит от выбранного метода оптимизации — то есть того, как нейросеть корректирует формулу, чтобы прийти к нужным результатам. В библиотеке TensorFlow можно найти разные способы оптимизации, и на выходе каждой из них результаты могут различаться. Однако эта тема выходит за рамки нашей статьи — здесь уже необходимо достаточно глубоко погружаться в процесс машинного обучения и разбираться, как именно устроена оптимизация.
Наш текст был на итальянском, и общаться с чат-ботом мы тоже решили на этом языке. Для начала спросили у ChatGPT об оптимальном объеме материала. Ответ был примерно такой: «От 500 до 1000 слов для информационного или образовательного текста и 150—300 слов для рекламного»
Тем не менее остановиться мы решили на Carrd и Bubble и поинтересовались, как работать с этими сервисами. Ответы и описания нейросети показались нам недостаточно конкретными, и мы попросили представить список обучающих материалов. В принципе он нас порадовал: там были и блоги, и туториалы на «Ютубе».
Разберём код подробнее. Sequential — это тип нейросети, означающий, что процесс обучения будет последовательным. Это стандартный процесс обучения для простых нейросетей: в нём она сначала делает предсказания, затем тестирует их и сравнивает с результатом, а в конце — корректирует ошибки.
Первая зависимость — это наша библиотека TensorFlow, название которой мы сокращаем до tf, чтобы было удобнее её вызывать в программе. NumPy — это библиотека для эффективной работы с массивами чисел. Можно было, конечно, использовать и обычные списки, но NumPy будет работать намного быстрее, поэтому мы берём его. И последнее — Keras, встроенная в Tensorflow библиотека, которая умеет обучать нейросети.
После уточняющего запроса нейросеть выдала другую подборку, которая состояла из Webflow, Bubble и Carrd. Такой ответ нас устроил, и мы попросили уточнить стоимость этих вариантов и их технические характеристики. Проведя анализ, СhatGPT посоветовала остановиться на Carrd. У него оказалась самая доступная цена, неограниченная пропускная способность и безлимитное хранилище данных.
Получилось странно — мы ожидали, что будет число 51 (потому что подставили 10 в выражение 5X + 1) — но на выходе нейросеть выдала число 50.98739. А всё потому, что модель нашла очень близкую, но не до конца точную формулу — например, 4.891X + 0.993. Это одна из особенностей машинного обучения.