Так, вчера вроде-бы я сделал аугментацию и динамическую загрузку батчей. Ещё вчера занимался обучением модели, но пост об этом не писал. Значит сегодня про модель.
Над моделью я долго не думал, я честно повзаимствовал готовую архитектуру, оптимизированную под mnist (датасет из рукописных цифр). Сам mnist оказывается 28х28 пикселей, а это значит, что я смогу увеличить размер своих символов на обработке (сейчас у меня 16х16)
О самой модели: она называется LeNet, а точнее я беру только архитектуру (так как у меня не цифры). Сама модель очень хорошо зарекомендовала себя в mnist, выдаёт точность 98.4% по данным из википедии, 99.45% по данным из статьи на kaggle (ссылки ниже).
Кто придумал LeNet? ОПЯТЬ ОНИ. Мои одногруппники вспомнят таких чуваков, как Bell Labs (aka AT&T Bell Laboratories). По программе нам уже встретились их разработки как алгоритм Прима и ЯП AWK. Дополню, что они создали ещё и Unix, который стал основой для Linux, MacOS и других систем. Разработали Unix они на C, который тоже их разработка. Ну и сверху они разработали C++. Теперь к этому списку прибавляется LeNet (прикол, если другие архитектуры тоже они разработали, просто мы не знали).
Это обычная CNN, разбор здесь я писать не буду. Потребуется - напишу в отдельном посте за каждый слой.
Модель готова, остаётся обучить и проверить. Кто помнит про разделение на обучающую выборку и валидационную? Модель при обучении проходит обучающую выборку, считает точность и потери, меняет параметры. Механизм там описывается немного не в 20 слов, но выглядит примерно так. Валидационная выборка в обучение не попадает, её модель видит впервые и никогда не изучает его. Представьте, что вы учитесь решать примеры из учебника по математике на квадратные уравнения, а потом я даю квадратное уравнение из головы, чтобы проверить, насколько хорошо вы его решаете. Такая проверка позволяет определить вы научились решать уравнения или запомнили ответы. Ситуация, когда нейросеть запоминает ответы называется переобучением (я про него уже говорил и даже объяснял тут). Проще говоря с помощью валидации мы следим, что нейросеть не переобучается.
Ещё выделяют и тестовую выборку (скорее даже тестовую выделяют чаще). Тестовую выборку, в отличии от валидационной, запускают после обучения, чтобы проверить реальную точность (соотношение правильных ответов ко всем проверкам), но мне приятнее работать с валидационной. Конкретно финальный тест можно выполнить даже на более реальном кейсе (то есть я нарисую новые символы и проверю на них). Душевно я чувствую себя спокойнее от такого подхода, хотя с точки зрения логики это неэффективно
Вики: https://en.wikipedia.org/wiki/LeNet
Кага: https://www.kaggle.com/code/roblexnana/mnist-digit-recognition-with-lenet-on-keras
Над моделью я долго не думал, я честно повзаимствовал готовую архитектуру, оптимизированную под mnist (датасет из рукописных цифр). Сам mnist оказывается 28х28 пикселей, а это значит, что я смогу увеличить размер своих символов на обработке (сейчас у меня 16х16)
О самой модели: она называется LeNet, а точнее я беру только архитектуру (так как у меня не цифры). Сама модель очень хорошо зарекомендовала себя в mnist, выдаёт точность 98.4% по данным из википедии, 99.45% по данным из статьи на kaggle (ссылки ниже).
Кто придумал LeNet? ОПЯТЬ ОНИ. Мои одногруппники вспомнят таких чуваков, как Bell Labs (aka AT&T Bell Laboratories). По программе нам уже встретились их разработки как алгоритм Прима и ЯП AWK. Дополню, что они создали ещё и Unix, который стал основой для Linux, MacOS и других систем. Разработали Unix они на C, который тоже их разработка. Ну и сверху они разработали C++. Теперь к этому списку прибавляется LeNet (прикол, если другие архитектуры тоже они разработали, просто мы не знали).
AWK - язык программирования для работы с табличными текстовыми данными, в основном по типу csv.
model = models.Sequential([
# Первый свёрточный блок
layers.Conv2D(6, kernel_size=(5, 5), activation='relu', input_shape=input_shape),
layers.MaxPooling2D(pool_size=(2, 2)),
# Второй свёрточный блок
layers.Conv2D(16, kernel_size=(5, 5), activation='relu'),
layers.MaxPooling2D(pool_size=(2, 2)),
# Полносвязные слои
layers.Flatten(),
layers.Dense(120, activation='relu'),
layers.Dense(84, activation='relu'),
layers.Dense(num_classes, activation='softmax')
])
Это обычная CNN, разбор здесь я писать не буду. Потребуется - напишу в отдельном посте за каждый слой.
Модель готова, остаётся обучить и проверить. Кто помнит про разделение на обучающую выборку и валидационную? Модель при обучении проходит обучающую выборку, считает точность и потери, меняет параметры. Механизм там описывается немного не в 20 слов, но выглядит примерно так. Валидационная выборка в обучение не попадает, её модель видит впервые и никогда не изучает его. Представьте, что вы учитесь решать примеры из учебника по математике на квадратные уравнения, а потом я даю квадратное уравнение из головы, чтобы проверить, насколько хорошо вы его решаете. Такая проверка позволяет определить вы научились решать уравнения или запомнили ответы. Ситуация, когда нейросеть запоминает ответы называется переобучением (я про него уже говорил и даже объяснял тут). Проще говоря с помощью валидации мы следим, что нейросеть не переобучается.
Ещё выделяют и тестовую выборку (скорее даже тестовую выделяют чаще). Тестовую выборку, в отличии от валидационной, запускают после обучения, чтобы проверить реальную точность (соотношение правильных ответов ко всем проверкам), но мне приятнее работать с валидационной. Конкретно финальный тест можно выполнить даже на более реальном кейсе (то есть я нарисую новые символы и проверю на них). Душевно я чувствую себя спокойнее от такого подхода, хотя с точки зрения логики это неэффективно
Вики: https://en.wikipedia.org/wiki/LeNet
Кага: https://www.kaggle.com/code/roblexnana/mnist-digit-recognition-with-lenet-on-keras
Wikipedia
LeNet
type of convolutional neural network
Теперь получается задача 4.
(Вход) 16х16 нормализованный массив (представление символа)
(Выход) название этого символа
С обучением вышел забавный прикол, точность валидации стала 100% уже на 2 эпохе. Пока это означает, что классов мало, они хорошо различимы, а нейросеть будет достаточно точно угадывать их всех.
Ещё такая картина может возникнуть, когда валидация меньше, и по случаю нейросеть может просто угадать верный ответ. То есть больше валидация - меньше вероятность набрать высоку точность на случайности у модели - точнее валидация.
(TODO) аугментировать валидацию и посмотреть результат после
Сами нейросети принимают массивные данные (то есть вектора или матрицы, но их по факту называют тензорами). Я вроде уже упоминал, что надо делать нормализацию картинок, но не пояснил зачем. Проще говоря нейросеть лучше понимает цвета, когда они представленны в дробном числе [0; 1], а не [0; 255], из-за внутренней математики. Соответственно и на выходе удобнее выдавать такие же числа. Ааааааааааа, символы зако
(Вход) 16х16 нормализованный массив (представление символа)
(Выход) название этого символа
С обучением вышел забавный прикол, точность валидации стала 100% уже на 2 эпохе. Пока это означает, что классов мало, они хорошо различимы, а нейросеть будет достаточно точно угадывать их всех.
Ещё такая картина может возникнуть, когда валидация меньше, и по случаю нейросеть может просто угадать верный ответ. То есть больше валидация - меньше вероятность набрать высоку точность на случайности у модели - точнее валидация.
(TODO) аугментировать валидацию и посмотреть результат после
Сами нейросети принимают массивные данные (то есть вектора или матрицы, но их по факту называют тензорами). Я вроде уже упоминал, что надо делать нормализацию картинок, но не пояснил зачем. Проще говоря нейросеть лучше понимает цвета, когда они представленны в дробном числе [0; 1], а не [0; 255], из-за внутренней математики. Соответственно и на выходе удобнее выдавать такие же числа. Ааааааааааа, символы зако
Для работы с индексами у объектов MLщики придумали one hot encoding, которая обозначает массив из вероятностей к отношению объекта к классу. На примере mnist мы на нейросеть подаём картинку нуля в X и массив, который говорит: "Это 0 100%, это 1 0%, это 2 0%...". По итогу в предикте мы получаем такой-же массив из вероятностей. Уже на выходе я это предпочитаю называть уверенностью.
Весь этот блок для объяснения что вообще изображено на картинке. Я посчитал, что не будет достаточным сказать, что число под картинкой - это уверенность нейросети в ответе (по сути оно так, но не объясняет всей сути и формирует ошибочные выводы). Теперь можно сказать, что нейросеть посмотрела на картинки и выдала свой ответ. Я этот ответ интерпретировал, и теперь можно видеть, что это символы
Весь этот блок для объяснения что вообще изображено на картинке. Я посчитал, что не будет достаточным сказать, что число под картинкой - это уверенность нейросети в ответе (по сути оно так, но не объясняет всей сути и формирует ошибочные выводы). Теперь можно сказать, что нейросеть посмотрела на картинки и выдала свой ответ. Я этот ответ интерпретировал, и теперь можно видеть, что это символы
ve и xar. Короче говоря это правильные ответыhttps://youtu.be/dtWrZJw2iWc?si=9cjprtP94CA2IhVr
Уже готово 9 релизов из 91. Предлагаю их показать, а 91 незаконченных я оставлю себе, и никто про них не узнает
Уже готово 9 релизов из 91. Предлагаю их показать, а 91 незаконченных я оставлю себе, и никто про них не узнает
YouTube
Эксперт: Совещание (Короткометражка, Русский дубляж)
Очередной скетч из серии об Андерсоне, эксперте по рисованию 7 красных линий. На этот раз ему предстоит поприсутствовать на курьезной деловой встрече, чтобы отчитаться о ходе выполнения работ в его проекте «Квадрат» и всех углах, которые он в нем использовал.…
Вспомнил, что у меня есть канал. Без предисловий приступаем к его судьбе
1. Проект выше замораживается, и скорее всего в вечной мерзлоте. У меня есть навыки проект продолжать, но не закончить
2. Канал будет жить. Из базы знаний по игре он превратится в портфолио моего мышления. GitHub покажет хард-скиллы, а канал — характер и логику
3. Добавлю навигацию и базу: всё, что должно быть в подобных каналах
4. Раньше я пилил по 1–2 поста в день сразу после кодинга. Теперь перехожу на просто регулярное написание
5. Сменю формат. На рынке обычно требуется объяснить «почему», а не «как».
6. Помимо проектов буду постить мысли из чтения и тезисы из дискуссий по избранным темам
Всё вышеперечисленное — план до марта. В этом году заметил себя как нефаната строить «вековые» прогнозы, так что пока работаем в таком режиме. Да, я специально вставил длинное тире
#инфо@shamanstdout
1. Проект выше замораживается, и скорее всего в вечной мерзлоте. У меня есть навыки проект продолжать, но не закончить
2. Канал будет жить. Из базы знаний по игре он превратится в портфолио моего мышления. GitHub покажет хард-скиллы, а канал — характер и логику
3. Добавлю навигацию и базу: всё, что должно быть в подобных каналах
4. Раньше я пилил по 1–2 поста в день сразу после кодинга. Теперь перехожу на просто регулярное написание
5. Сменю формат. На рынке обычно требуется объяснить «почему», а не «как».
6. Помимо проектов буду постить мысли из чтения и тезисы из дискуссий по избранным темам
Всё вышеперечисленное — план до марта. В этом году заметил себя как нефаната строить «вековые» прогнозы, так что пока работаем в таком режиме. Да, я специально вставил длинное тире
#инфо@shamanstdout
Начну с рубрики #из_буков. Сразу нет обзорам или пересказам - только мысли по прочтении. Такой паттерн гарантирует, что книга реально "пошла" (для знатоков: "формируется в модель"), а не прошла мимо
Устали думать? Продолжайте. Переходим от анонса к мысли
Системное мышление — Донелла Медоуз
Часто обсуждаю ленивость мозга, но не думал, что паттерн причина -> следствие порожден тем же феноменом.
Студент Перекуров сдал предмет на 37 из 100. Почему? Если вы хитрите, то скажете: «не закрыл достаточно КТ». Те, кто помягче, спишут на жизненные трудности или лень. Причина найдена, мозг доволен
Но задумались ли вы, что сами КТ могли быть избыточно сложными? Или преподаватель проверял их вечность? Скорее всего, нет. Если мозг не заставлять, он не ищет альтернатив, пока есть хоть одна "подходящая". Это называется абдукция (сестра дедукции и индукции)
В быту этот паттерн экономит силы, но для важных штук мозг может (и будет) трудиться. Цель - не отменить абдукцию, а переформировать «центр управления», чтобы выбор контроль мышления стал осознанным. Это я считаю первым шагом к системному мышлению
Вот такая коротенькая тема, чтобы не перегружать
Весь мир — система, а люди в ней — элементы
#из_буков@shamanstdout
Устали думать? Продолжайте. Переходим от анонса к мысли
Системное мышление — Донелла Медоуз
Часто обсуждаю ленивость мозга, но не думал, что паттерн причина -> следствие порожден тем же феноменом.
Студент Перекуров сдал предмет на 37 из 100. Почему? Если вы хитрите, то скажете: «не закрыл достаточно КТ». Те, кто помягче, спишут на жизненные трудности или лень. Причина найдена, мозг доволен
Но задумались ли вы, что сами КТ могли быть избыточно сложными? Или преподаватель проверял их вечность? Скорее всего, нет. Если мозг не заставлять, он не ищет альтернатив, пока есть хоть одна "подходящая". Это называется абдукция (сестра дедукции и индукции)
В быту этот паттерн экономит силы, но для важных штук мозг может (и будет) трудиться. Цель - не отменить абдукцию, а переформировать «центр управления», чтобы выбор контроль мышления стал осознанным. Это я считаю первым шагом к системному мышлению
Вот такая коротенькая тема, чтобы не перегружать
Весь мир — система, а люди в ней — элементы
#из_буков@shamanstdout
Недавно попадалась реклама курсов по вайбкодингу, а сегодня я задумался.
Сразу объясню паттерн:
Вайбкодер просит LLM: "Сделай красиво"
Разраб (даже если он копипастит с SOF) осознает процессы внутри
Мой подход: просить LLM сделать разные части и потом склеивать
Сказал очевидное? А теперь меняем переменные.
LLM → подсознание
Осознанная разработка → сознание
Оператор → ты
Получаем ту же систему, но не очевидную, как по мне. Большинство живет по паттерну "вайб-кодинга": закидывают в подсознание невнятный запрос и надеются, что на выходе получится хоть что-то адекватное. При этом даже не добавляют "Act as senior data scientist" в свой "промпт". Это ещё касается темы интуиции, но не сегодня
В прошлом посте я, как типичный коуч, ушел на умных словах, призвав переложить контроль на осознанность. В этом сделаю также. Раскрывать ещё одну тему - значит утроить пост, а я ценю лаконичность
Но теперь могу даже привести пример: эпилог про контроль написался интуитивно (привет, подсознание), просто чтобы текст выглядел завершенным. А сейчас я осознаю этот процесс
#хмм@shamanstdout
Сразу объясню паттерн:
Вайбкодер просит LLM: "Сделай красиво"
Разраб (даже если он копипастит с SOF) осознает процессы внутри
Мой подход: просить LLM сделать разные части и потом склеивать
Сказал очевидное? А теперь меняем переменные.
LLM → подсознание
Осознанная разработка → сознание
Оператор → ты
Получаем ту же систему, но не очевидную, как по мне. Большинство живет по паттерну "вайб-кодинга": закидывают в подсознание невнятный запрос и надеются, что на выходе получится хоть что-то адекватное. При этом даже не добавляют "Act as senior data scientist" в свой "промпт". Это ещё касается темы интуиции, но не сегодня
В прошлом посте я, как типичный коуч, ушел на умных словах, призвав переложить контроль на осознанность. В этом сделаю также. Раскрывать ещё одну тему - значит утроить пост, а я ценю лаконичность
Но теперь могу даже привести пример: эпилог про контроль написался интуитивно (привет, подсознание), просто чтобы текст выглядел завершенным. А сейчас я осознаю этот процесс
#хмм@shamanstdout
Оказывается у книги есть другие названия, так что теперь буду писать в оригинале
Thinking in Systems — Donella Meadows
Есть кейс. В одном поселке дома были идентичны, кроме одной детали: у одних счетчик стоял в подвале, у других - прямо в прихожей. Разница в том, кто как часто видит цифры потребления. Те, кто видел чаще - потреблял в среднем на 30% меньше
Счетчик - это цикл обратной связи. Для эффективного управления системой этот цикл должен быть максимально доступен лицу, принимающему решение. В идеале - постоянно и без задержек
Ну и теперь сводим идеи из прошлых постов к системному мышлению. Осознанность - это и есть интеграция цикла обратной связи в структуру управления
Как-то сегодня получилось слишком серъёзно, вот вам в шутку несмешной анекдот:
Пациент на приеме:
- Доктор, когда я пью чай, у меня всегда колет в правом глазу. Что мне делать?
Доктор:
- Попробуйте вынимать ложечку из чашки.
#из_буков@shamanstdout
Thinking in Systems — Donella Meadows
Есть кейс. В одном поселке дома были идентичны, кроме одной детали: у одних счетчик стоял в подвале, у других - прямо в прихожей. Разница в том, кто как часто видит цифры потребления. Те, кто видел чаще - потреблял в среднем на 30% меньше
Счетчик - это цикл обратной связи. Для эффективного управления системой этот цикл должен быть максимально доступен лицу, принимающему решение. В идеале - постоянно и без задержек
Ну и теперь сводим идеи из прошлых постов к системному мышлению. Осознанность - это и есть интеграция цикла обратной связи в структуру управления
Как-то сегодня получилось слишком серъёзно, вот вам в шутку несмешной анекдот:
Пациент на приеме:
- Доктор, когда я пью чай, у меня всегда колет в правом глазу. Что мне делать?
Доктор:
- Попробуйте вынимать ложечку из чашки.
#из_буков@shamanstdout
Вчера не разобрал, как читать схему, так как телеграмм зажал буквы
Thinking in Systems — Donella Meadows
Центр анализа схемы - запас. Он изображен прямоугольником, где подписан сам запасаемый ресурс
Дальше анализируем динамику запаса - потоки. На моей схеме потоки приходят из кругов - это границы системы. Нам нет смысла рассматривать, какая компания снабжает дом или какие приборы потребляют энергию - нам важен анализ самого потребления в доме
Из прошлого поста: исходящий поток контролирует цикл обратной связи. Усиление этого цикла означало ослабление исходящего потока (больше видишь счетчик - меньше тратишь)
А теперь фокусник абстрактного мышления продемонстрирует вам магию переноса: я проанализирую совершенно другую систему через ту же схему.
Возьмем вайбкодинг
Запас: нерабочий код.
Входящий поток: ошибки LLM.
Исходящий поток: фиксы.
ЦОС: отсутствие анализа кода.
Связь: чем выше «отсутствие анализа», тем ниже скорость исправления
Схему вайбкодинга я упростил. Где - думайте сами
Моя задача была не над вайбкодерами смеяться, а показать перенос схем. Кто понял - тот с моделью
Мой дозор окончен
Сегодня в телеге не работает загрузка файлов, так что картинка схемы стала доступна только по ссылке
Думаю, дальше можно будет также перекидывать такие вещи в фигму
#из_буков@shamanstdout
Thinking in Systems — Donella Meadows
Центр анализа схемы - запас. Он изображен прямоугольником, где подписан сам запасаемый ресурс
Дальше анализируем динамику запаса - потоки. На моей схеме потоки приходят из кругов - это границы системы. Нам нет смысла рассматривать, какая компания снабжает дом или какие приборы потребляют энергию - нам важен анализ самого потребления в доме
Из прошлого поста: исходящий поток контролирует цикл обратной связи. Усиление этого цикла означало ослабление исходящего потока (больше видишь счетчик - меньше тратишь)
А теперь фокусник абстрактного мышления продемонстрирует вам магию переноса: я проанализирую совершенно другую систему через ту же схему.
Возьмем вайбкодинг
Запас: нерабочий код.
Входящий поток: ошибки LLM.
Исходящий поток: фиксы.
ЦОС: отсутствие анализа кода.
Связь: чем выше «отсутствие анализа», тем ниже скорость исправления
Схему вайбкодинга я упростил. Где - думайте сами
Моя задача была не над вайбкодерами смеяться, а показать перенос схем. Кто понял - тот с моделью
Мой дозор окончен
Сегодня в телеге не работает загрузка файлов, так что картинка схемы стала доступна только по ссылке
Думаю, дальше можно будет также перекидывать такие вещи в фигму
#из_буков@shamanstdout
Вы когда-нибудь пробовали борщ от китайца? Схематически сейчас попробуете
Изучал теорию типов мышления. Что я из неё получил: у нас есть эти 5-6 этикеток. Многие просто думают о способах комбинации людей с разными этикетками в эффективный механизм. Или как точнее эти этикетки расклеивать, чтобы пустить человеков в ход
Я попробовал применить эти этикетки сам (мне попался список про парадигмы мышления: магическое, инженерное, научное, предпринимательское, бюрократическое) - пришлось придумывать новую этикетку. Модель не сошлась с тестовой выборкой
И тут я почувствовал что-то знакомое. Тот же борщ, но от китайца: психологи со времен Фрейда пытались рассортировать бесконечный хаос паттернов по удобным категориям. Но мне решение показалось неудобным. Я решал похожие задачи, но через чёткий алгоритм, а не интуитивный поиск.
В датасаенсе есть задача кластеризации. Для простых смертных: у вас есть набор предметов в квартире, нужно распихать их по коробкам. Мало коробок - бардак в самих коробках. Много коробок - большинство остаются пустыми и занимают место. Цели задачи:
- Найти оптимальное количество коробок
- Сформировать правила сортировки по коробкам
- И сделать это автоматически
Зачем? Чтобы долго не искать предметы по всей квартире
Вообще, как часто пересекается датасаенс с бытовыми вещами? - да. И это не только наведение порядка или типы мышления. - Мы понавесили ярлыков
- Разделили знания по предметам
- Я пытаюсь разделить мысли по разным абзацам
- ML, DevOps, разработка, БД - это разные области бэкенда
- Даже многозначность слов объясняется кластеризацией смыслов по словам
И тут я ухожу в мысленный запой как минимум на 24 часа. Из решений задач кластеризаций я знаю только один алгоритм, а надо бы их сравнить, иначе абдукция. Я тут не учу, я сам учусь и рассказываю об этом
#хмм@shamanstdout
Изучал теорию типов мышления. Что я из неё получил: у нас есть эти 5-6 этикеток. Многие просто думают о способах комбинации людей с разными этикетками в эффективный механизм. Или как точнее эти этикетки расклеивать, чтобы пустить человеков в ход
Я попробовал применить эти этикетки сам (мне попался список про парадигмы мышления: магическое, инженерное, научное, предпринимательское, бюрократическое) - пришлось придумывать новую этикетку. Модель не сошлась с тестовой выборкой
И тут я почувствовал что-то знакомое. Тот же борщ, но от китайца: психологи со времен Фрейда пытались рассортировать бесконечный хаос паттернов по удобным категориям. Но мне решение показалось неудобным. Я решал похожие задачи, но через чёткий алгоритм, а не интуитивный поиск.
В датасаенсе есть задача кластеризации. Для простых смертных: у вас есть набор предметов в квартире, нужно распихать их по коробкам. Мало коробок - бардак в самих коробках. Много коробок - большинство остаются пустыми и занимают место. Цели задачи:
- Найти оптимальное количество коробок
- Сформировать правила сортировки по коробкам
- И сделать это автоматически
Зачем? Чтобы долго не искать предметы по всей квартире
Вообще, как часто пересекается датасаенс с бытовыми вещами? - да. И это не только наведение порядка или типы мышления. - Мы понавесили ярлыков
- Разделили знания по предметам
- Я пытаюсь разделить мысли по разным абзацам
- ML, DevOps, разработка, БД - это разные области бэкенда
- Даже многозначность слов объясняется кластеризацией смыслов по словам
И тут я ухожу в мысленный запой как минимум на 24 часа. Из решений задач кластеризаций я знаю только один алгоритм, а надо бы их сравнить, иначе абдукция. Я тут не учу, я сам учусь и рассказываю об этом
#хмм@shamanstdout
Продолжаем продолжать. Я связал кластеризацию и психологию. Но есть нюанс: кластеризация работает на числах, а у нас тут - субъективное и непонятное.
Это не дисконнект Data Science от реальности. Наше мышление можно преобразовать в вектора, просто сейчас не выйдет. Это скорее жестокость мира. А я вспоминаю строки из песни
Мир жесток и неспокоен,
За волной волна,
Не робей и не собьет она.
Мы можем не применять формулы из методов, но идеи - другое дело. В DS такой подход часто абьюзят для объяснения на пальцах
1) K-means
— КАК: Готовый набор этикеток. Как темпераменты по Гиппократу. Мы заранее решили, что их четыре, и подгоняем реальность: "О, я спокойный - буду флегматиком"
— ПОЛЬЗА: Удобно для обучения. Оперируем идеалом (центроидом). Проще воспринимать процесс, не отвлекаясь на шумные детали конкретного человека
— ПРОБЛЕМА: Слишком строго. Количество групп задается до того, как мы увидели данные. Если в выборку попадет человек с новой архитектурой реакций - K-means его не заметит
2) K-Medoids
— КАК: Почти как K-means, только вместо гипотетического идеала берем реальный пример. По сути - кумир: "О, я думаю как он"
— ПОЛЬЗА: Проще кластеризовать. У кумира есть контекст формирования, история и жизнь. Это ценная информация, которой нет у сухой этикетки
— ПРОБЛЕМА: Всё еще зажат в рамки количества групп. Нестабильно работает, если человек сильно отклоняется от нормы выбранного кумира
3) Agglomerative Clustering
— КАК: Берем каждую реакцию или привычку и склеиваем. Пары -> группы -> большие кластеры. Получается дерево связей
— ПОЛЬЗА: Детализация. Видно, как привычка перебивать людей склеивается со стилем покупки кофе и превращается в кластер импульсивного мышления
— ПРОБЛЕМА: Ошибся в мелочи на нижнем уровне - всё дерево выросло криво. Ну и думать придётся очень долго
4) Divisive Clustering
— КАК: Обратный процесс. Все люди в одном кластере. Начинаем бить его на части по крупным различиям. Отсекаем философов от кодеров, кодеров делим на бэк и фронт. И так до атомов
— ПОЛЬЗА: Идеально для планирования сверху. Не нужно знать, сколько человек выпил кофе, чтобы понять, что он системный игрок
— ПРОБЛЕМА: Ошибся с первым разделением - вся дальнейшая детализация летит в мусорку. Ну и вычислительно это еще тяжелее
5) DBSCAN
— КАК: Ищем плотности. Облака схожих реакций становятся типами. Группа людей, прижатых друг к другу по мышлению - архетип
— ПОЛЬЗА: Устойчивость к шуму. Шутки про ретроградный Меркурий не делают тебя верующим в гадалку
— ПРОБЛЕМА: Мышление у людей может не собираться в такие плотные облака
6) OPTICS
— КАК: Улучшенный DBSCAN
— ПОЛЬЗА: Умеет находить менее массовые, разреженные облака. Видит редкие типы мышления
— ПРОБЛЕМА: Мышление всё ещё может оказаться слишком разнообразным
7) Gaussian Mixture Models (Опять Гаусс)
— КАК: Ты не приверженец одного типа, ты - коктейль. 0.7 инженер, 0.15 дизайнер, 0.15 творец
— ПОЛЬЗА: Самый универсальный и гибкий метод описания живого человека
— ПРОБЛЕМА: Поди разберись, как этот состав интерпретировать и что с ним делать дальше
Дал ли я решение? - Нет
Интереснее сам факт: на древнюю теорию типирования я взглянул современно и нашел 6 разных способов размышления. Выбор способа оставлю вам, я не Дед Мороз. Я пойду всё-таки читать про сами архетипы, а то маршуты думать я дал, а сам не подумал об этом
Встань, страх преодолей,
Встань, в полный рост,
Встань, на земле своей
И достань рукой до звезд
#хмм@shamanstdout
Это не дисконнект Data Science от реальности. Наше мышление можно преобразовать в вектора, просто сейчас не выйдет. Это скорее жестокость мира. А я вспоминаю строки из песни
Мир жесток и неспокоен,
За волной волна,
Не робей и не собьет она.
Мы можем не применять формулы из методов, но идеи - другое дело. В DS такой подход часто абьюзят для объяснения на пальцах
1) K-means
— КАК: Готовый набор этикеток. Как темпераменты по Гиппократу. Мы заранее решили, что их четыре, и подгоняем реальность: "О, я спокойный - буду флегматиком"
— ПОЛЬЗА: Удобно для обучения. Оперируем идеалом (центроидом). Проще воспринимать процесс, не отвлекаясь на шумные детали конкретного человека
— ПРОБЛЕМА: Слишком строго. Количество групп задается до того, как мы увидели данные. Если в выборку попадет человек с новой архитектурой реакций - K-means его не заметит
2) K-Medoids
— КАК: Почти как K-means, только вместо гипотетического идеала берем реальный пример. По сути - кумир: "О, я думаю как он"
— ПОЛЬЗА: Проще кластеризовать. У кумира есть контекст формирования, история и жизнь. Это ценная информация, которой нет у сухой этикетки
— ПРОБЛЕМА: Всё еще зажат в рамки количества групп. Нестабильно работает, если человек сильно отклоняется от нормы выбранного кумира
3) Agglomerative Clustering
— КАК: Берем каждую реакцию или привычку и склеиваем. Пары -> группы -> большие кластеры. Получается дерево связей
— ПОЛЬЗА: Детализация. Видно, как привычка перебивать людей склеивается со стилем покупки кофе и превращается в кластер импульсивного мышления
— ПРОБЛЕМА: Ошибся в мелочи на нижнем уровне - всё дерево выросло криво. Ну и думать придётся очень долго
4) Divisive Clustering
— КАК: Обратный процесс. Все люди в одном кластере. Начинаем бить его на части по крупным различиям. Отсекаем философов от кодеров, кодеров делим на бэк и фронт. И так до атомов
— ПОЛЬЗА: Идеально для планирования сверху. Не нужно знать, сколько человек выпил кофе, чтобы понять, что он системный игрок
— ПРОБЛЕМА: Ошибся с первым разделением - вся дальнейшая детализация летит в мусорку. Ну и вычислительно это еще тяжелее
5) DBSCAN
— КАК: Ищем плотности. Облака схожих реакций становятся типами. Группа людей, прижатых друг к другу по мышлению - архетип
— ПОЛЬЗА: Устойчивость к шуму. Шутки про ретроградный Меркурий не делают тебя верующим в гадалку
— ПРОБЛЕМА: Мышление у людей может не собираться в такие плотные облака
6) OPTICS
— КАК: Улучшенный DBSCAN
— ПОЛЬЗА: Умеет находить менее массовые, разреженные облака. Видит редкие типы мышления
— ПРОБЛЕМА: Мышление всё ещё может оказаться слишком разнообразным
7) Gaussian Mixture Models (Опять Гаусс)
— КАК: Ты не приверженец одного типа, ты - коктейль. 0.7 инженер, 0.15 дизайнер, 0.15 творец
— ПОЛЬЗА: Самый универсальный и гибкий метод описания живого человека
— ПРОБЛЕМА: Поди разберись, как этот состав интерпретировать и что с ним делать дальше
Дал ли я решение? - Нет
Интереснее сам факт: на древнюю теорию типирования я взглянул современно и нашел 6 разных способов размышления. Выбор способа оставлю вам, я не Дед Мороз. Я пойду всё-таки читать про сами архетипы, а то маршуты думать я дал, а сам не подумал об этом
Встань, страх преодолей,
Встань, в полный рост,
Встань, на земле своей
И достань рукой до звезд
#хмм@shamanstdout
❤🔥1
ОБО МНЕ
ЗДЕСЬ Я
Мои суждения могут быть ошибочны, но я открыт и готов к спорам, обсуждениям и критике. Дискуссия здесь важнее моего авторского мнения
GitHub: https://github.com/Shamaniks
Kaggle: https://www.kaggle.com/shamaniks
#инфо@shamanstdout
Занимаюсь ML/DL. Увлекаюсь когнитивистикой, системным мышлением и философией по-технарски
ЗДЕСЬ Я
— Не рассказываю про успешный успех, туториалы по коду, свою жизнь или бытовой опыт
— А пересказываю свои размышления по идеям, которые меня зацепили. Прогоняю разные сущности через фильтры логики и математики
Мои суждения могут быть ошибочны, но я открыт и готов к спорам, обсуждениям и критике. Дискуссия здесь важнее моего авторского мнения
GitHub: https://github.com/Shamaniks
Kaggle: https://www.kaggle.com/shamaniks
#инфо@shamanstdout
Сильно сбился с графика. И у меня есть ответ почему
Понятно, что нагрузка выросла - это база. Но рефлексировать тут есть над чем
На старте обучения нейронка меняет веса мгновенно. Первые эпохи - 6-кратный скачок точности. Потом нудная борьба за тысячные доли процента
Ощутил на себе тот-же эффект с постами:
- было огромное количество идей на километры текста
- сейчас надо постараться, чтобы хоть что-то придумать
К счастью, я уже знаю два решения из Deep Learning:
- Расширение датасета (аугментация):
Заливаю в себя свежие данные. Начал с Системного Мышления, за время начитал ещё книг для разборов
- Тыканье архитектуры:
Идея, как пересобрать процесс, пришла из прочитанного.
Больше не жду вдохновения, теперь подход систематизирован: "Сажусь и генерирую текст этот час. Всё". Реализаций этих подходов тоже несколько, но их оставлю на потом
#хмм@shamanstdout
Понятно, что нагрузка выросла - это база. Но рефлексировать тут есть над чем
На старте обучения нейронка меняет веса мгновенно. Первые эпохи - 6-кратный скачок точности. Потом нудная борьба за тысячные доли процента
Ощутил на себе тот-же эффект с постами:
- было огромное количество идей на километры текста
- сейчас надо постараться, чтобы хоть что-то придумать
К счастью, я уже знаю два решения из Deep Learning:
- Расширение датасета (аугментация):
Заливаю в себя свежие данные. Начал с Системного Мышления, за время начитал ещё книг для разборов
- Тыканье архитектуры:
Идея, как пересобрать процесс, пришла из прочитанного.
Больше не жду вдохновения, теперь подход систематизирован: "Сажусь и генерирую текст этот час. Всё". Реализаций этих подходов тоже несколько, но их оставлю на потом
#хмм@shamanstdout
Новая рубрика для канала: #тэкнолоджия
Ваня пригласил на выставку, я нашёл там вебинар про ИИ пузырь. Решил собрать и обозначить своё мнение
1. Пузырь не лопнет, но индустрия сменит направление. Сейчас мода - трансформеры и диффузия (тяжело), станет зоопарк квантизации, GAN или ещё что проще
2. Я ноль в бизнес-процессах/стратегиях/ланчах - не могу предиктить ситуацию даже по категориям компаний. Думаю только в рамках технологий
Я подготовил вопросов, вебинар в среду, результатами поделюсь
Про #тэкнолоджия@shamanstdout: канал специально оставил без кода, #тэкнолоджия@shamanstdout ровно на стыке - и надо разбираться, и касается всех (хоть и косвенно). Подумаю
Ваня пригласил на выставку, я нашёл там вебинар про ИИ пузырь. Решил собрать и обозначить своё мнение
1. Пузырь не лопнет, но индустрия сменит направление. Сейчас мода - трансформеры и диффузия (тяжело), станет зоопарк квантизации, GAN или ещё что проще
2. Я ноль в бизнес-процессах/стратегиях/ланчах - не могу предиктить ситуацию даже по категориям компаний. Думаю только в рамках технологий
Я подготовил вопросов, вебинар в среду, результатами поделюсь
Про #тэкнолоджия@shamanstdout: канал специально оставил без кода, #тэкнолоджия@shamanstdout ровно на стыке - и надо разбираться, и касается всех (хоть и косвенно). Подумаю
Тема была ИИ - пузырь или нет. К выводу не пришли
Финансовые и энергетические моменты LLM не трогали. Вместо филосовствовали "если ИИ станет умнее нас". Моя позиция простая: сначала сделайте хоть что-то похожее на интеллект
Развивается рынок встраивания LLM. Считаю, сюда надо не ChatGPT 530000, а легковесные модели. Пойдёт тенденция оптимизации - встретим продвинутые инструменты с агентами
Бред тоже творится. Появился текстовый статистический инструмент, а люди в нём увидели:
- инструмент для цифровой копии
- отдельную цифровую личность
- инструмент где попало
- эксперта во всём.
Доля оверхайпа есть. Отсюда и тема про пузырь
Мы автоматизировали понимание текста, но не процесс мышления
#тэкнолоджия@shamanstdout
Финансовые и энергетические моменты LLM не трогали. Вместо филосовствовали "если ИИ станет умнее нас". Моя позиция простая: сначала сделайте хоть что-то похожее на интеллект
Развивается рынок встраивания LLM. Считаю, сюда надо не ChatGPT 530000, а легковесные модели. Пойдёт тенденция оптимизации - встретим продвинутые инструменты с агентами
Бред тоже творится. Появился текстовый статистический инструмент, а люди в нём увидели:
- инструмент для цифровой копии
- отдельную цифровую личность
- инструмент где попало
- эксперта во всём.
Доля оверхайпа есть. Отсюда и тема про пузырь
Мы автоматизировали понимание текста, но не процесс мышления
#тэкнолоджия@shamanstdout
Статистический инструмент. В промпте в LLM задаётся направление мысли и степень свободы. Немного полевых испытаний:- Запрос: приведи 3 аргумента что LLM - это пузырь
- Контекст 1: пустой
- Ответ 1: просто 3 аргумента
- Контекст 2: разговоры о разнице LLM и интеллекта
- Ответ 2: 3 аргумента с пометкой "я не такого мнения, аргументы привожу по запросу" от LLM
Не сильно опрашивал людей. Уверен, что 3 аргумента приведут только сторонники этого мнения. У людей для ответа направление мысли и степень свободы задаётся не в вопросе, а ответ генерируется с другой целью
Такая вот заметка №57 по поводу разницы LLM и интеллекта, и очередная #хмм@shamanstdout
- Контекст 1: пустой
- Ответ 1: просто 3 аргумента
- Контекст 2: разговоры о разнице LLM и интеллекта
- Ответ 2: 3 аргумента с пометкой "я не такого мнения, аргументы привожу по запросу" от LLM
Не сильно опрашивал людей. Уверен, что 3 аргумента приведут только сторонники этого мнения. У людей для ответа направление мысли и степень свободы задаётся не в вопросе, а ответ генерируется с другой целью
Такая вот заметка №57 по поводу разницы LLM и интеллекта, и очередная #хмм@shamanstdout
Сколько я слышал историю ИИ, речей про его опасность. Честно - тошнит от них
Одна из причин - шахматы. Половина таких спичей припомнят Deep Blue и Каспарова. Так вопрос: при чём тут ИИ и жизнь?
Шахматы - игра полной информации. Не надо гадать сколько коней осталось у противника. Для суперкомпьютера это математическая задача, а не игра
Пусть ИИ сыграет в покер. Я не пропагандирую додеп, предлагаю самый популярный вариант игры со случайностью и неполной информацией. Страшно станет когда ИИ научится в среднем обыгрывать лучших игроков, то есть построит систему принятия решений без человеческих недостатков
Такого от "ИИ мыслителей" не слышал ни разу. С удовольствием почитал бы, если есть примеры.
#хмм@shamanstdout
Одна из причин - шахматы. Половина таких спичей припомнят Deep Blue и Каспарова. Так вопрос: при чём тут ИИ и жизнь?
Шахматы - игра полной информации. Не надо гадать сколько коней осталось у противника. Для суперкомпьютера это математическая задача, а не игра
Пусть ИИ сыграет в покер. Я не пропагандирую додеп, предлагаю самый популярный вариант игры со случайностью и неполной информацией. Страшно станет когда ИИ научится в среднем обыгрывать лучших игроков, то есть построит систему принятия решений без человеческих недостатков
Такого от "ИИ мыслителей" не слышал ни разу. С удовольствием почитал бы, если есть примеры.
#хмм@shamanstdout
Я крайне недолюбливаю Романа Ямпольского за его пессимизм, но для интереса попробовал позицию AI Doom
Если создадут ИИ сверх разумнее людей, захватит ли он сразу мир? - нет. Только ума недостаточно для успеха, иначе бы список Forbes сортировался по IQ. Сверхразуму потребуются ресурсы: деньги, информация, люди, пульт от ядерки
Останется ли ИИ без ресурсов? - нет. Люди сами их дадут. Но злобный ИИ получать ресурсы не будет. Зачем людям ИИ, который хочет всех поработить? Они будут давать флопсы развитие гражданских или военных сфер (порабощение соседей никто не отменял)
Ещё важное мнение: AI Doom менее вероятен из-за возможной борьбы разных ИИ между собой. Я верю в такой сценарий: у разных компаний появятся настоящий AGI, слабее или равные человеку, после начнётся гонка развития. Примерно как сейчас существует множество разных конкурентных LLM
Помыслить в данной парадигме было интересно. А сюжет на основе идеи выше я бы с удовольствием изучил. ИИ типа АМ или Скайнет мне немного надоели
#хмм@shamanstdout
Если создадут ИИ сверх разумнее людей, захватит ли он сразу мир? - нет. Только ума недостаточно для успеха, иначе бы список Forbes сортировался по IQ. Сверхразуму потребуются ресурсы: деньги, информация, люди, пульт от ядерки
Останется ли ИИ без ресурсов? - нет. Люди сами их дадут. Но злобный ИИ получать ресурсы не будет. Зачем людям ИИ, который хочет всех поработить? Они будут давать флопсы развитие гражданских или военных сфер (порабощение соседей никто не отменял)
Ещё важное мнение: AI Doom менее вероятен из-за возможной борьбы разных ИИ между собой. Я верю в такой сценарий: у разных компаний появятся настоящий AGI, слабее или равные человеку, после начнётся гонка развития. Примерно как сейчас существует множество разных конкурентных LLM
Помыслить в данной парадигме было интересно. А сюжет на основе идеи выше я бы с удовольствием изучил. ИИ типа АМ или Скайнет мне немного надоели
#хмм@shamanstdout