Главная Юзердоски Каталог Трекер NSFW Настройки

Дневнички

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 14 8 11
Пишем нейронку Лес !!cRwZFqppLL/rHmRJ 03/06/24 Пнд 19:40:14 745859 1
image.png 109Кб, 870x585
870x585
ИТТ пишу нейронку from scratch, с нуля.
Цель - генерация текстов для другого моего пет-проекта.
Лес !!cRwZFqppLL/rHmRJ 03/06/24 Пнд 19:51:55 745860 2
Почему с нуля? Потому что могу, потому что люблю программировать и потому что хочу насколько это возможно разобраться во всех (не во всех, но в самых основных) ньюансах.
Писать буду на языке Kotlin. Юайки при необходимости будут делать на Compose Desktop.

Цель, как уже говорил, генерация художественного текста на русском языке. Полученная модель будет запускать на мобилках и на десктопе как часть большого приложения.

Предварительный план такой:
- матричные операции
- структура и веса сети, сохранение в файл и загрузка
- обучение нейронки
- простейший классификатор с юаем (чтобы убдеиться что всё работает)
- классифицируем ирисы (ещё раз убедимся что всё работает)
- краулер для сбора текстов
- составления словаря токенов, написание токенайзера
- обучение модели
...
PROFIT!

Параллельно можно поболтать за ойти, математику и пограммирование.
Аноним 03/06/24 Пнд 20:33:19 745865 3
Если ты надеешься что у тебя получится в результате что-то уровня чатгпт, то забудь. Там нужны колоссальные вычисления. На котлине это значит на ЦПУ тренировать собрался? Это еще х100 фактор замедления.
Лес !!cRwZFqppLL/rHmRJ 04/06/24 Втр 08:37:55 745971 4
>>745865
Да, цпу, насчёт этого я не замарачваюсь.
Конечно я представляю масштабы промышленных разработок. Там не только огромные вычислительные мощности, там ещё куча скиловых и не очень людей. Например там целые команды занимаются подготовкой и очисткой данных. Очевидно что у меня ничего из этого нет. Я думаю у меня получится что-то типа Порфирича. Будет успехом если моя модель будет сколько-то грамотно подсталять слова. Опять же, я это делаю потому что по кайфу.

Я кстати говоря пару лет работал датасатанистом (правда до нейронок мы тогда так и не добрались, максимум что у нас было это иксгэбуст). На собственно опыте я убедился что улучшение качества данных даёт больший прирост метрик, чем усложнение модели.
ram !kMtcyTk33U 04/06/24 Втр 10:26:22 745973 5
Посмотри видос Карпатого, он очень хорошо объясняет принципы и код:
https://youtu.be/kCc8FmEb1nY
Ещё у него на канале ещё есть про бэкпроп, где он с нуля его пишет. На питоне, конечно, но принцип тот же.
Аноним 04/06/24 Втр 17:18:47 745998 6
image.png 1024Кб, 1514x1500
1514x1500
image.png 864Кб, 1508x1508
1508x1508
image.png 983Кб, 1512x1508
1512x1508
image.png 944Кб, 1516x1508
1516x1508
Короче говоря сделал я матричные вычисления и прямой проход нейронки (на самом деле я это сделал ещё до создания треда).
Что бы как-то это визализировать, решил взять канвас и цвет каждого пикселя определить нейронкой со случайными весами.
То есть на вход (x,y) на выходе (r,g,b). Внезапно получилось годно. Рейт мой дигитал эй-ай арт, анончик. Как думаешь, если это распечатать в хайрезе на холсте, это будут покупать?

Самый большой заёб пока что с индексами в матричных оперпциях, всё время что-то путаю. Пришлось написать необходимый минимум тестов. Сейчас вроде всё как надо. На очереди самая мякотка - алгоритм бек пропагейшен.

>>745973
Спасибо, посмотрю!
Аноним 04/06/24 Втр 18:41:26 746009 7
>>745859 (OP)
Есть идея насчет нейронки, напиши в тг: @r46ch1k
Лес !!cRwZFqppLL/rHmRJ 05/06/24 Срд 21:18:16 746091 8
image.png 28Кб, 498x310
498x310
image.png 24Кб, 520x250
520x250
Как же я люблю синтаксический сахар, хоспади. У меня уже синтаксический диабет. Например матрицу я могу объявить как пикрил 1 или как пикрил 2. Как думаешь, анон, как лучше?
Аноним 07/06/24 Птн 15:33:22 746337 9
>>745859 (OP)
Ты для начала математику подучи, лолка.

Мимо ещё один "нейронщик"
Аноним 07/06/24 Птн 16:09:32 746340 10
>>746091
Очевидно што два
Лес !!cRwZFqppLL/rHmRJ 07/06/24 Птн 21:09:56 746372 11
Я набухался и релишил переписать матричные операции, а то некрасиво.

>>746337
Я между прочим математик по образованию. Правда за столько лет я уже всё забыл. Но база-то всё равно есть, я когда слышу про например производную или градиент то сразу понимаю о чём речь.
Лес !!cRwZFqppLL/rHmRJ 08/06/24 Суб 10:33:02 746457 12
image.png 67Кб, 566x612
566x612
Как думаешь, анон, вектор лучше представить отдельной сущностью (тогда делать ли отдельно вектор-столбец и вектор-строку?) или пусть вектора будут частным случаем матрицы (1 х n или n х 1)

Пик - тест на умножение матриц.
Лес !!cRwZFqppLL/rHmRJ 08/06/24 Суб 10:41:50 746459 13
Ещё я решил передалть хранение весов. Раньше я хранил матрицу для каждого слоя. Теперь я думаю переделать на мапу, где ключом будет i,j, а значением - вес. И для нейронов сделать сквозную нумерацию. Так конечно вырастут требования к памяти (jvm будет создавать ещё больше объектов), но я просто заебался с индексами.
Аноним 08/06/24 Суб 18:38:44 746494 14
>>746372
Да-да, правда тут дело надо бы иметь с пространствами и алгебрами.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов