а что в этом криминального? Да, старый ftp это не очень хорошо, но и не сильно плохо, если соблюдается элементарная осторожность (важные файлы шифруются+цифровые подписи, надежные пароли, разрешение на доступ только до нужного, аудит подключений и т.п.). Что касается "хакните его", так возможно автор предложения предлагал испытать на прочность сервис. Вполне возможно просто недопонимание.
Мне показалось, что замеры вы делали в одной точке и на одной глубине. И параметры среды не менялись. Подозреваю СКО в реальных условиях может быть выше и вам стоит перезамерить СКО в разных условиях.
Подозреваю что ошибка позиционирования (СКО) может отличатся в зависимости от глубины, рельефа дна (переотражения звука), температуры воды (разная скорость звука), позиции относительно буёв, посторонние шумы (шум прибоя, винт лодки). Было бы интересно прочитать про вашу математику.
Сменные кассеты ("канистры"). Перед употреблением залить 10 литров воды из крана. Накинуть клеммы (как на свинцовый аккумулятор). После употребления сдать на переработку не открывая. Герметичные и без воды должны храниться очень долго.
возможно стоит поэкспериментировать и одновременно немного сдвигать границу и менять g. Вместо сдвигания границы на 0,25 сдвигать её на 0,12 и одновременно менять g для компенсации того, что границу мы мало сдвинули.
Одна из немногих статей, в которой уделяется внимание робастности. В реальности (особенно в промышленных системах, которые работают десятилетиями) это очень важный фактор. Программа (система) должна должна как минимум сказать "Эй, у тебя какие-то странные данные, я не могу их адекватно оценить, извини". Вместо этого (как я подозреваю) многие системы будут бодро нести правдоподобную ерунду. В идеале, конечно, хочется видеть системы с самонастройкой или с простым дообучением.
Тут нужно сделать жирный комментарий. Генетическим алгоритмам я посвятил лет 15, в основном разными исследованиями баловался. В результате пришел к таким выводам: в любой более-менее сложной задаче нужно закладывать 1 миллион вычислений целевой функции. Дальше смотрим время 1 вычисления и примерно поймем минимальное время нужное для подгонки. Задача должна быть не слишком овражной. Про плюсы и минусы не буду писать. Конкретно в твоем случае (нахождение оптимальных весов нейросети) я бы тебе посоветовал алгоритм имитации отжига (раз ты игнорируешь метод обратного распространения ошибки!). Имитация отжига тоже очень простой алгоритм и он в твоем случае может дать лучше результат.
Это понятная практика, но вдумайтесь: вы начинаете рассылку писем и получатели её отправляют в спам (особенно если не получается отписаться). И очень быстро вся компания целиком попадает в спам-список.
Если человек пишет письмо с одноразового ящика, то он ясно дает понять, что писать ему не нужно ни в коем случае.
днём, чисто математически должно получаться так, что лучей из космоса отражается вверх больше просто потому, что мощность солнца на порядки больше мощности Земли (коэффициент отражения должен быть примерно одинаковый). Представьте: из космоса 1 кВт/м3 поступает и отражается 40%, остальное в виде инфракрасных волн достигает Земли. С Земли излучение 0.48 кВт/м3 и от облаков отразится уже много меньше. Другое дело - время суток. Намного выгоднее иметь облака днем и не иметь их ночью, тогда Земля начнет понемногу охлаждаться.
А в конце пример вообще бессмысленный. И на одном и на втором графике 4 из 6 автомобилей отмечены как Парето-оптимальные. При этом интуитивно мы понимаем, что из 6 автомобилей мы максимум парочку будем считать оптимальными. Зачем в этом примере использована нормализация данных? Без нормализации получим точно такой же результат (конкретно в такой постановке вопроса prices[i] >= prices[j]).Было бы полезнее использовать взвешенную функцию агрегации, но тогда не получились бы такие красивые и непонятные графики :-) Просто нашли бы минимум значения функции агрегации.
Одному мне не нравится идея совмещать крутилку и кнопку? Лично мне не удобно (и не интуитивно) крутить и нажимать (не важно - одновременно или попеременно). Не говоря уж о том, что не все понимают, что вот эта большая ручка не только _крутится_, но и нажимается. Сейчас прикинул: крутим большим и средним пальцем, нажимаем указательным. При большом размере крутилки (и с учетом того, что нажимать можно не по центру) может будет и нормально.
И тут уместно вставить упоминание про Mozilla JPEG, который сжимает картинки в обычный jpeg, но меньшего размера. Как я понял как раз из-за того, что малозначимые участки фотографии сжимаются сильнее. Правда нигде не нашел упоминание, что Mozilla использует нейросети (судя по всему используют относительно простые эвристики).
"When op determinism is enabled, TensorFlow ops will be deterministic. This means that if an op is run multiple times with the same inputs on the same hardware, it will have the exact same outputs each time." Речь идет о повторяемости только(!) на одних и тех же данных (включая параметры модели, обучение). Дополнительно они говорят о том, что и железо должно быть таким же (т.к. речь идет о дробных числах это замечание важное). Это ввели для отладки. Правда не совсем понятно с какой целью, т.к. даже банальное изменение порядка операций почти наверняка изменит финальный результат.
Насколько я понял из дальнейшей документации вместе с enable_op_determinism обязательно использование set_random_seed. Эта пара вместе должна заставлять TensorFlow производить все операции в том же порядке с теми же данными (переменными для генерации псевдослучайных чисел, которые используются при обучении).
Все почему-то сконцентрировались на вопросе откуда берется вариативность. А нам на практике важнее к чему может привести эта вариативность? Ну узнал я, что вариативность по метрике аккуратность 1%, как это мне поможет сделать более лучшую модель?
Cosine Annealing https://paperswithcode.com/method/cosine-annealing - изменение learning rate, который (в теории) может сильно снизить вариативность. В процессе обучения (разумеется) запоминаем наилучшую модель, которая и идет в зачет. Прогоните заново ваши эксперименты (только оптимально подгоните параметры обучения под свою задачу) и, почти уверен, что вариативность результатов сильно снизится.
Комментарий от себя: Cosine Annealing хорош, когда у нас есть дополнительное время на обучения. Хотя, такое тоже может быть, есть некоторая надежда на то, что времени не сильно больше нужно.
"Персональная новостная лента" - это уже радует. Но где продолжение? Пользователь оценивает новости и на основе машинного обучения нейросеть (или какой-нибудь лес) подбирает из новостей наиболее подходящие (и выкидывает то, что не понравится) конкретному читателю. Есть такое в задумках? Дополнительно: если речь идет о телеграмме, то там можно ставить эмодзи под новостью, которые можно автоматически считывать на стороне сервера и учитывать?
а что в этом криминального? Да, старый ftp это не очень хорошо, но и не сильно плохо, если соблюдается элементарная осторожность (важные файлы шифруются+цифровые подписи, надежные пароли, разрешение на доступ только до нужного, аудит подключений и т.п.). Что касается "хакните его", так возможно автор предложения предлагал испытать на прочность сервис. Вполне возможно просто недопонимание.
Мне показалось, что замеры вы делали в одной точке и на одной глубине. И параметры среды не менялись. Подозреваю СКО в реальных условиях может быть выше и вам стоит перезамерить СКО в разных условиях.
Подозреваю что ошибка позиционирования (СКО) может отличатся в зависимости от глубины, рельефа дна (переотражения звука), температуры воды (разная скорость звука), позиции относительно буёв, посторонние шумы (шум прибоя, винт лодки). Было бы интересно прочитать про вашу математику.
Сменные кассеты ("канистры"). Перед употреблением залить 10 литров воды из крана. Накинуть клеммы (как на свинцовый аккумулятор). После употребления сдать на переработку не открывая. Герметичные и без воды должны храниться очень долго.
возможно стоит поэкспериментировать и одновременно немного сдвигать границу и менять g. Вместо сдвигания границы на 0,25 сдвигать её на 0,12 и одновременно менять g для компенсации того, что границу мы мало сдвинули.
Очень спорное решение. Лучше заложить в алгоритм автопотбор g (тем более ты говоришь о больших размерностях).
Непонятно как меняется g
Одна из немногих статей, в которой уделяется внимание робастности. В реальности (особенно в промышленных системах, которые работают десятилетиями) это очень важный фактор. Программа (система) должна должна как минимум сказать "Эй, у тебя какие-то странные данные, я не могу их адекватно оценить, извини". Вместо этого (как я подозреваю) многие системы будут бодро нести правдоподобную ерунду. В идеале, конечно, хочется видеть системы с самонастройкой или с простым дообучением.
Тут нужно сделать жирный комментарий. Генетическим алгоритмам я посвятил лет 15, в основном разными исследованиями баловался. В результате пришел к таким выводам: в любой более-менее сложной задаче нужно закладывать 1 миллион вычислений целевой функции. Дальше смотрим время 1 вычисления и примерно поймем минимальное время нужное для подгонки. Задача должна быть не слишком овражной. Про плюсы и минусы не буду писать. Конкретно в твоем случае (нахождение оптимальных весов нейросети) я бы тебе посоветовал алгоритм имитации отжига (раз ты игнорируешь метод обратного распространения ошибки!). Имитация отжига тоже очень простой алгоритм и он в твоем случае может дать лучше результат.
Это понятная практика, но вдумайтесь: вы начинаете рассылку писем и получатели её отправляют в спам (особенно если не получается отписаться). И очень быстро вся компания целиком попадает в спам-список.
Если человек пишет письмо с одноразового ящика, то он ясно дает понять, что писать ему не нужно ни в коем случае.
днём, чисто математически должно получаться так, что лучей из космоса отражается вверх больше просто потому, что мощность солнца на порядки больше мощности Земли (коэффициент отражения должен быть примерно одинаковый). Представьте: из космоса 1 кВт/м3 поступает и отражается 40%, остальное в виде инфракрасных волн достигает Земли. С Земли излучение 0.48 кВт/м3 и от облаков отразится уже много меньше. Другое дело - время суток. Намного выгоднее иметь облака днем и не иметь их ночью, тогда Земля начнет понемногу охлаждаться.
А в конце пример вообще бессмысленный. И на одном и на втором графике 4 из 6 автомобилей отмечены как Парето-оптимальные. При этом интуитивно мы понимаем, что из 6 автомобилей мы максимум парочку будем считать оптимальными. Зачем в этом примере использована нормализация данных? Без нормализации получим точно такой же результат (конкретно в такой постановке вопроса
prices[i] >= prices[j]).Было бы полезнее использовать взвешенную функцию агрегации, но тогда не получились бы такие красивые и непонятные графики :-) Просто нашли бы минимум значения функции агрегации.В Multiplicative Aggregation в конце вместо умножения взять максимум. И тогда можно будет эффективно искать минимум (этого максимума).
Одному мне не нравится идея совмещать крутилку и кнопку? Лично мне не удобно (и не интуитивно) крутить и нажимать (не важно - одновременно или попеременно). Не говоря уж о том, что не все понимают, что вот эта большая ручка не только _крутится_, но и нажимается. Сейчас прикинул: крутим большим и средним пальцем, нажимаем указательным. При большом размере крутилки (и с учетом того, что нажимать можно не по центру) может будет и нормально.
И тут уместно вставить упоминание про Mozilla JPEG, который сжимает картинки в обычный jpeg, но меньшего размера. Как я понял как раз из-за того, что малозначимые участки фотографии сжимаются сильнее. Правда нигде не нашел упоминание, что Mozilla использует нейросети (судя по всему используют относительно простые эвристики).
Пару скромных людей (а может ботов) молча поставили комментарию минус. Рассказали бы, с чем не согласны в моем комментарии?..
Зачем вводите людей в заблуждение?
"When op determinism is enabled, TensorFlow ops will be deterministic. This means that if an op is run multiple times with the same inputs on the same hardware, it will have the exact same outputs each time." Речь идет о повторяемости только(!) на одних и тех же данных (включая параметры модели, обучение). Дополнительно они говорят о том, что и железо должно быть таким же (т.к. речь идет о дробных числах это замечание важное). Это ввели для отладки. Правда не совсем понятно с какой целью, т.к. даже банальное изменение порядка операций почти наверняка изменит финальный результат.
Насколько я понял из дальнейшей документации вместе с
enable_op_determinismобязательно использованиеset_random_seed.Эта пара вместе должна заставлять TensorFlow производить все операции в том же порядке с теми же данными (переменными для генерации псевдослучайных чисел, которые используются при обучении).Все почему-то сконцентрировались на вопросе откуда берется вариативность. А нам на практике важнее к чему может привести эта вариативность? Ну узнал я, что вариативность по метрике аккуратность 1%, как это мне поможет сделать более лучшую модель?
Cosine Annealing https://paperswithcode.com/method/cosine-annealing - изменение learning rate, который (в теории) может сильно снизить вариативность. В процессе обучения (разумеется) запоминаем наилучшую модель, которая и идет в зачет. Прогоните заново ваши эксперименты (только оптимально подгоните параметры обучения под свою задачу) и, почти уверен, что вариативность результатов сильно снизится.
Комментарий от себя: Cosine Annealing хорош, когда у нас есть дополнительное время на обучения. Хотя, такое тоже может быть, есть некоторая надежда на то, что времени не сильно больше нужно.
"Персональная новостная лента" - это уже радует. Но где продолжение? Пользователь оценивает новости и на основе машинного обучения нейросеть (или какой-нибудь лес) подбирает из новостей наиболее подходящие (и выкидывает то, что не понравится) конкретному читателю. Есть такое в задумках? Дополнительно: если речь идет о телеграмме, то там можно ставить эмодзи под новостью, которые можно автоматически считывать на стороне сервера и учитывать?
Ну и, хотя бы, хоть одну нетрадиционную функцию потерь типа Triplet Loss. Разумеется с объяснением зачем она.