–Ага! — сказали мужики

Пытаюсь нащупать границы возможностей своей предсказательной модели на TensorFlow. Точность предсказания, кстати, после чтения комментов, стал оценивать по трём параметрам: среднему (по модулю) отклонению, минимальному отклонению, и максимальному отклонению (всё в процентах).

Так вот какие-то там сложения, деления, вычитания и умножения в самых разных комбинациях — без проблем.

–Вжик — сказала нейросеть

Ах вот ты как? А логаритм10 суммы двух дробей, помноженных на значение, возведённое в квадрат, могёшь?

–Дыр-дыр-ддд — сказала нейросеть. И стала ошибаться аж на двести процентов.

Примитивное наращивание количества параметров результатов пока не даёт. Видимо, предсказание резко нелинейных функций (особенно если их там >1) оно всё же не очень.

Хочу зачесть литературу:

Я уверен, что просто что-то не так делаю.

MDMA

Хотел в своё время написать, но не сложилось.

Я очень живо интересуюсь темой психоделиков, как человек, которому они в своё время очень помогли. И поддерживаю как легализацию, так и исследования на эту тему. Сейчас они интересны в основном как лекарства от депрессии и ПТСР, но мне вот интересно, какие у них ещё могут быть показания. Скажем, как они действуют на деменцию ту же? Покамест для лечения депрессии на федеральном уровне легален только кетамин. И да, мне хорошо помогает, особенно теперь, когда я нашёл местную клинику, где лечением кетамином можно заниматься под руководством врача. Это вообще очень полезно — во время приёма психоделиков иметь сиделку, в идеале — человека, хорошо знакомого с действием психоделиков лично.

Но не кетамином единым — из известных мне лекарств ещё есть псилоцибиновые грибы, ЛСД, и МДМА. Последний, формально, не очень-то психоделик. Метилендиооксиметамфетамин — более известный как “экстази” — это эмпатоген, то-есть, в первую очередь он вызывает чувство близости к другим людям, а также эйфорию. Весьма популярный наркотик на рейв-вечеринках, и если они химически чистый, то значительно менее опасен чем тот же алкоголь и табак. С подачи Бидона Бидоныча (когда он ещё был сенатором) в 2003 году MДМА запретили нахер.

Однако буквально лет пять назад снова возобновились активные исследования на предмет использования МДМА для лечения в том числе пост-трамватических расстройств. И было несколько интересных изысканий, но вот чорт — в этих исследованиях чрезмерно ретивые сотрудники начали натягивать сову желанного результата на негибкий глобус реальности. Полтора месяца назад управление по санитарному надзору за качеством пищевых продуктов и медикаментов США рассмотрело МДМА в качестве кандидата для терапии ПТСР… и, увы, отправило заявку к соответствующей матери, мол, “вы выдали желаемое за действительное”. Жаль.

Но унывать рано. Траву тоже не сразу легализовали, а нынче сложнее найти штат, где она нелегальна, чем штат, где её нельзя:

Лично мне, правда, трава похер, как и чувство опьянения алкоголем — не нравится.

В начале этого года я относительно успешно выключил себя из новостного цикла и вообще всей этой политической движухи. Кто выиграет выборы в этом году — да насрать сто куч, “борьба была равна, боролись два говна”. Есть значительно более важные вещи в моей жизни.

Тем не менее, что-то большое успешно прорывается даже через все эти фильтры.

Что я могу сказать?

Дистанция 120-150 метров для винтовки типа AR (особенно если это AR10) — это ни о чём, если хоть как-то более-менее ответственно подойти к задаче.

Отличный блюз

Наткнулся на прекрасную блюз-группу из Флориды, Тедески Тракс (название образовано из двух фамилий основателей, Tedeschi (произносится “Тедески”, не “Тедеши”) и Trucks). Очень прикольные, особенно понравился вот этот дуэт-репетиция со старым блюзменом Тадж Махалом, душевный:

Есть прекрасный концерт целиком, рекомендую послушать.

Даже захотелось посмотреть вживую, настолько хороши. Будут недалеко от меня, в Чаттануге, в ноябре.

Математическое и компьютерное

Вот некоторые думают, что если вычисления перенести на ГПУ вместо ЦПУ, то:

1. Всё сразу заработает в сто раз быстрее.
2. Будет сразу работать лучше.

АвотшЫш. Не всегда, и не везде.

Вот сделал я нейросеть, модель одинаковая, довольно несложная, пятислойная, сто нейронов в каждом слое, итого 50 тысяч параметров — по нынешним меркам вообще три копейки.

Запускаю на ЦПУ — сеть тренируется за три минуты, и выдаёт довольно нормальный результат, с точностью в пределах 0.7%

Запускаю на ГПУ — сеть тренируется уже за пять минут, а не за три, а результат у ней — заметно хреновей, с погрешностью уже 1.23%

Я полагаю, что последнее это потому, что TensorFlow, будучи запущенным на ГПУ, по умолчанию до сих пор использует 16 бит для представления чисел с плавающей запятой, вместо 32 бит или даже 64. Надо будет поглядеть, можно ли его заставить использовать больше бит. Хотя, конечно, математика на компьютерах — она дело такое, что вообще-то никто гарантии, что результат вычислений будет одинаковым, если программа запускается на процессорах разной архитектуры, никогда не давал. Особенно, если числа такие, что представить их точно в формате IEEE-754 невозможно (например, десятичная дробь 0.2).

А вот почему оно ничуть не быстрее работает на ГПУ, чем на ЦПУ — для меня уже загадка. RTX3080 вроде как пошЫрше должен быть во флопсах, чем i9-11900k @ 3.5GHz. Может быть, такая маленькая модель его просто нагрузить толком не в состоянии.

И да, “чтобы два раза не вставать”.

Как наиболее правильно считать и представлять среднюю ошибку в вычислениях?

Вот, например, если в одном предсказании из двух программа ошиблась на +100%, а во втором — на -100%, врядли заявление о том, что средняя ошибка составляет 0% (100-100)/2, будет представляться нам истинным.
Но с другой стороны, если тупо считать ошибки по модулю, а программа при этом стабильно ошибается то на +1%, то на -1%, статистически-то ведь она, можно сказать, что не ошибается вовсе.
Как обычно действуют, вдруг кто знает?

Какая хорошая статья про флеш-память

Прямо с большим интересом и удовольствием прочитал.

Вкратце — на данный момент ситуация с современными накопителями на флеш-памяти сильно деградировала, и получилась не очень. В погоне за терабайтами и прибылью потребительские диски делают на технологии QLC (4 бита в одной ячейке), у которой во-первых, резко ограничено количество циклов записи (всего 900, а то и того меньше), а во-вторых, она медленнее намного.

Чтобы создать хоть какую-то видимость производительности, изготовители делают диски гибридными — делают кеш на SLC, а остальное — QLC.

Так, 500-гигабайтный диск Crucial BX500 имеет примерно 45 гигабайт кеша на SLC. Поэтому имеем такой график — пока заполняется кеш, скорость записи хорошая, под 500 метров в секунду. Кеш заполнен — проваливается до 57 мегабайт в секунду:

Только вот 57 мегабайт в секунду — это, на минуточку, показатели обычного магнитного диска! Который обладает намного лучшими характеристиками по долговечности и циклам перезаписи (я вообще не уверен, ограничены ли они). И какой тогда, спрашивается, резон покупать вот такой твёрдотельный диск?

Отдельно маньякнутные маньяки, вроде соавтора статьи, заливают специальную прошивку в контроллер диска, отключая всю область QLC к соответствующей матери. Ну да, карета превращается назад в тыкву вместо терабайтного диска получается диск на 120 гиг, только он работает как бешеный, и имеет 60 000 (шестьдесят тысяч) циклов перезаписи.

В-общем, QLC — говно. И, скорее всего, через несколько лет он уйдёт в закат, так как для NAND флеша это тупик. На рынок, наверное, выйдет какая-то новая технология, типа неудавшейся в своё время Optane (3D XPoint).

А вот какой нынче накопитель покупать, чтобы не купить говно — вопрос интересный.

Про мультфильмы Миядзаки

Я тут недавно сказал, что люблю мультфильмы великого японского аниматора за тщательную проработку деталей. И многие детали там всё же проработаны на пятёрку с плюсом, например, радиопричиндалы в “Поньо”.

Кстати, какого рожна в общепринятой русской транскрипции она “Поньо”, а не “Понио”? Если так писать, то придётся писать “Токьо” вместо “Токио”. Или давайте уж тогда по чесноку включим Полного Поливанова, и будем говорить (относительно правильно) — Понё и Токё. Японцы, если что, примерно так и произносят.

Сорян, наболело!!!!

Дети присели пересмотреть “Навсикаю”, и скажу я вам, что всё же не все детали дедушка прорабатывал так же тщательно. Нет, к чисто фантазийным вещам, типа летающих этих кораблей, которые однозначно летать не будут, претензий никаких — на то они и фантазийные. Что, кстати, странно для такого поклонника авиации, как Миядзаки, который даже свою студию назвал в честь итальянского военного самолёта-бомбардировщика Капрони Ка.309 «Гибли». Мог бы и чего реалистичнее нарисовать. Но вот ружжо у Навсикаи какое-то откровенно дурацкое.

Что мы видим? Мы видим карамультук с продольно-скользящим затвором, но без магазина. Решительно непонятно — зачем городить огород с таким затвором, если карамультук однозарядный. Значительно проще и дешевле было бы сделать обычную переломку или клиновый затвор, как на Винчестере 1885.

Потом, что это за приклад такой — мало того, что абсолютно прямой, так еще и идущий как вниз, так и вверх? Если такой карамультук нормально вложить, то прицельные устройства на нём будут примерно на уровне сисек главной героини 🙂 И прицелиться из этого будет решительно невозможно.

Вот, для сравнения, та самая однозарядная винтовка Винчестер 1885. Видите, как изогнут приклад? Это чтобы поднять линию прицела выше, к глазам.

Но всё это мелочи, фигня по сравнению со следующим кадром, на котором видно, что из затвора карамультука сантиметра эдак на три торчит боёк!

Мало того, что боёк не высовывается так далеко даже при стрельбе, если оно постоянно так торчать будет, то главная героиня наколет капсюль патрона, просто закрыв затвор!

Вот фотография “моси” с открытым затвором, скажите, вы видите тут торчащий на три сантиметра из затвора боёк? Нет? И я нет.

В-общем, конечно, дедушка любит и умеет прорабатывать детали, но нормально он их может прорабатывать только на том материале, который он сам хотя бы пару раз видел. Японцы, видимо, огнестрел видят только в фильмах, поэтому вот такое.

Но дедушку мы, конечно, всё же будем любить, и ему, безусловно, простим 🙂 Навсикая — прекрасный мультфильм, несмотря ни на что.

ИИ-погромизм

Занимался вчера созданием нейросетей под руководством ChatGPT. По итогам я имею сказать вот что.

В целом — впечатляет. Даёт не самый плохой код на Питоне для создания нейросети на TensorFlow, что характерно — используя keras. Практически то же самое, что я сам рисовал четыре года назад.

Только в этот раз я замахнулся пошЫрше и решил нейросети скормить csv с “финансовыми транзакциями”. Внутри csv было одиннадцать колонок, десять просто с числами, а одиннадцатая — с довольно сложным вычислением из данных, находящихся в шести колонках (сложение двух дробей, вычисление 10% от полученного, и складывание с ещё двумя колонками). Четыре оставшиеся колонки не делали ничего.

Модель делал пятислойную, сто нейронов в четырёх слоях, один нейрон в выходном слое (это уже не ЧатЖПТ предлагал, это уже я сам). Наверное, это даже избыточно сложная модель.

Сделал два csv файла, один с 200 строками — это был тренировочное множество, и второй — всего с десятью. Я хотел посмотреть, сможет ли нейросеть распознать, какая именно зависимость существует в одиннадцатой колонке, и сможет ли она предсказать данные, полученные таким образом.

Скажу сразу, всё получилось. Конечно, математика на нейросетях довольно неаккуратна, но после 5000 эпох тренировки она смогла предугадывать значения с точностью, не выходящей за рамки 5%. Планирую показать результат начальнику, контора сильно озаботилась встраиванием ИИ в продукцию.

Но помимо этого, у меня возникли небольшые сложности, и возникли они именно от применения ИИ.

Во-первых, ЧатЖПТ нередко даёт код для Питоновских библиотек, который уже является устаревшим (deprecated). Например, свойство pandas.DataFrame.iloc — вытаскивание индивидуальных колонок из pandas.DataFrame.

Во-вторых, ЧатЖПТ создаёт в коде баги. Например, вместо десяти строк в тестовом наборе данных у меня почему-то считывались только девять. Разговор шёл примерно вот так:

–А у меня вместо десяти ожидаемых строк только девять.
–Может, данные кривые? Вот как их надо нормализировать.
–Данные нормальные, но считывается только девять строк вместо десяти. Первая строка проглатывается.
–Не должна. Вот код, как правильно считывать csv через pandas.read_csv
–Я этот код и использую, но первой строки нет.
–Ну, правильно, потому что по умолчанию первая строка считывается в имена колонок. В pandas.read_csv надо ставить параметр header=None, чтобы так не происходило.
–А чо сразу-то не сказал?
–Извиняюсь.

Но в целом (в целом) — впечатляет, да. Далеко не с каждым человеком я на эту тему могу поговорить, более того, не каждый сразу “на гора” выдаст работающий (более-менее) код. Ошибается иногда? Ну да, ошибается. Покажите мне человека, который не ошибается, и я покажу вам лентяя, который никогда ничего не делает. Тем не менее, лентяю в способности рассуждать почему-то не отказывают, а искуственному интеллекту — таки да. Неправильно это, ИМХО. ИИ вполне способен на рассуждения.

Плата за страх

Помнится, в далёком детстве прочитал я эту повесть Жоржа Арно, и запала она мне в душу. Вкратце, она про то, как в Гватемале, в одной из нищих деревенек, где, помимо местных индейцев, живёт пёстрая группа белых самого разного происхождения, происходит пожар на одной из нефтяных скважин американской компании. Единственным способом потушить огромный пожар является перекрывание источника нефти взрывом, только вот единственная взрывчатка в наличии больно капризная — нитроглицерин, который может взорваться просто от сильного толчка. Американская нефтяная компания предлагает крупную сумму денег тому, кто возьмётся доставить нитроглицерин на скважину…

В оригинале большая часть повести посвящена тому, насколько отчаявшиеся белые собрались в этой деревеньке. Повесть была опубликована в 1950 году, и Вторая Мировая по историческим меркам была только пять минут назад. Так что среди белых, как положено, есть всякий сброд — вчерашние власовцы, бывшие преступники, и так далее. Работы в деревеньке нет практически никакой, и ни у кого нет даже денег, чтобы уехать. Так что люди реально отчаялись и были готовы на всё — в том числе возить по колдобинам нитроглицерин.

Надо сказать, что Арно писал свою книгу практически с натуры. Растратив наследство, в 1947 году он уезжает в Южную Америку, где работал кем попало, и встречал самых разных людей — именно что бывших власовцев, нацистов-участников организации “ОДЕССА”, коллаборантов, и прочих беглых преступников.

У повести было несколько экранизаций. Поглядел пока две из них.

Эталоном является французский фильм 1953 года с Ивом Монтаном.

Он сделан очень близко к тексту, и замечательно снят, в лучших триллерных традициях, со всё нарастающим напряжением. И конец в нём тоже… по книге. В США фильм сочли антиамериканским (ибо главным антигероем является американская нефтяная компания), и подвергли бессовестной цензуре (в 1950е вообще нигде особо не церемонились, это вам не сейчас). Отсмотрел сначала эту киноработу. Отличный фильм, но начало (по современным меркам, опять же) немного затянутое. В 1996 году вышла колоризированная версия фильма (надо будет найти).

Американцы в ответ сделали аж три фильма по книге, некоторые — с очень сильными отступлениями от изначального текста.

“Жестокая дорога” (Violent Road) 1958 года — где граждане везут по опасной горной дороге капризные компоненты ракетного топлива — гептил, азотную кислоту, и концентрированную перекись водорода. Надо это было сделать потому, что компания-государственный контрактор-ракетчик была вынуждена перевезти в другое место ракетный завод за три дня — или потерять государственный контракт. Не смотрел пока.

“Колдун” (Sorcerer) 1977 года — наиболее близкий из американских римейков к французскому фильму 1953 года. Вместо нитроглицерина они везут старый динамит. Динамит, если кто не знает, это смесь нитроглицерина и поглотителя — опилок, песка. С голым нитроглицерином работать сложно, уж больно он капризный, а если он в виде динамита, то нормально. Можно даже с сахаром смешать. При длительном хранении нитроглицерин из динамита начинает “выпотевать”, и взрывчатка становится очень нестабильной. Не смотрел, но обязательно буду, пишут, что очень хороший.

“Ледяная Дорога” (Ice Road, The) 2021 года — фильм с Нисоном и Фишбёрном. Фильм вообще не про то, и практически не по книге. Водителю необходимо доставить взрывчатку для того, чтобы спасти шахтёров в заваленной алмазной шахте. Шахта находится в Канаде, и грузовик надо провести по тонкому льду замерзших озёр. Помимо сложнейшего маршрута, конфликт в фильме ещё в том, что среди группы водителей есть предатель, который пытается замести следы и увести компанию-владельца шахты от ответственности за трагедию с шахтёрами. Ещё не смотрел, но настолько сильное отступление от оригинала меня как-то настораживает. Фильм в прокате больших денег не собрал.

И ещё есть свежий (2024) французский фильм режиссёра Жулье Леклёра, который так и называется — “Плата за страх” (Le salaire de la peur/Wages of Fear, The). Действие в нём перенесено куда-то в Африку (фильм снимали в Морокко), раздираемую межплеменными войнами. Чтобы добавить драматизьму, режиссёр решил, что если скважину не потушить, она взорвётся, и вынесет с собой крупное местное поселение. А чтобы ещё добавить драматизьму, главный герой едет не за деньги, а за совесть — чтобы вызволить родного брата из тюряги. Если честно, то фильм барахло. В одном моменте по грузовику, нагруженному нитроглицерином, практически в упор херачат из пулемёта, и… ничего не происходит. В-общем, я вторую половину фильма досмотрел на скорости 1.75. Ничего не потеряете, если не посмотрите.

Узнал

…что некоторые виды муравьёв делают друг на друге сложные хирургические операции, такие, как ампутация инфицированных конечностей и санация ран.

Что характерно, единственным другим видом животных, способных на такие вещи, является человек.

Отвал башки.