Даже гуру ошибаются: истории великих фейлов в ML
Все мы знаем, что учиться на ошибках — это часть процесса, и даже самые именитые эксперты в области ML не застрахованы от промахов.
Именно так Эндрю Ын, один из основателей Coursera и гуру deep learning, в начале своей карьеры столкнулся с проблемой, когда тестовые данные случайно включились в тренировочный набор. Модель выдавала потрясающие результаты, но на новых данных показывала себя просто отвратительно. Это заставило Эндрю внедрить более строгие методы валидации и часто напоминать себе и своим коллегам о важности корректного разбиения данных.
И он не одинок в своих проблемах. Джеффри Хинтон, легенда в мире DL, однажды создал слишком сложную архитектуру нейросети для простой задачи. Модель переобучилась и показала плохие результаты на тесте, что заставило его пересмотреть подход к выбору архитектуры. Хинтон осознал, что баланс между сложностью модели и задачей — ключ к успеху.
Следом за Хинтоном, Ян ЛеКун столкнулся с проблемой исчезающих градиентов в глубоких сетях. Эта проблема затрудняла обучение и приводила к неэффективности. Разработав методы использования ReLU активаций, ЛеКун решил эту проблему и понял важность выбора правильных функций активации.
Илон Маск, продвигая технологии автономного вождения в Tesla, тоже столкнулся с ошибками. Система распознавания объектов неправильно классифицировала дорожные знаки и пешеходов, что привело к инцидентам. Это заставило Tesla улучшить алгоритмы и добавить дополнительные уровни валидации, показывая, что тщательная проверка в реальных условиях необходима.
Заключает наш список Джефф Дин из Google, который работал над масштабируемостью ML-систем. В одном из проектов команда столкнулась с проблемами обработки big data, что привело к созданию новых распределенных систем, таких как MapReduce и TensorFlow. Так Дин понял, что для успешного внедрения ML необходимы масштабируемые системы.
Вот так вот. Даже гуру не застрахованы от промахов, но именно через них они и становятся гуру.
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Ответ на пост «Программисты свернули не туда»
Они даже рекламу уже сделать не могут нормально :D или это такая замануха для программистов? и на самом деле там предложение об устройстве на работу
код вместо рекламы
Ответ на пост «Нашел уязвимость на сайте пиццерии или 2 большие пиццы за 340р»
Тэкс, судя по описанию там с большой вероятностью есть ещё 1 баг, и он остался.
Итак разберём ситуацию что произошла и вероятность того что есть ещё 1 баг, а я бы сказал даже не баг а дырень в безопасности.
Произошёл баг на фронте в результате чего была неправильно посчитана сумма заказа, далее эта неправильная сумма отправилась на бэк для создания заказа и ссылки на платёжную систему, и чувствуете да, а какого хуя бэк пропустил эту сумму? То есть мы можем отправить любую сумму на бэк за любой заказ и нам это сойдёт с рук.
Конечно есть мааааленькая вероятность что и на бэке и на фронте был неправильный алгоритм расчёта такой корзины, в чем я очень сомневаюсь, судя по сайту там 1-2 человека над ним работают уровня где то middle и у них легко могла быть такая вот дыра в понимании уязвимостей.
Обучение тестированию. Логическая модель "раскрытие"
Одна из самых интересных моделей обучения, которую необходимо сочетать с моделями "ковка" и "сварка" – модель "раскрытие".
Ученик, который пришёл учиться, содержит в себе все компоненты, если их так можно назвать, для успешного освоения любого двигательного навыка. Его прошлый опыт можно и нужно использовать, но не обязательно в качестве фундамента построения новой системы, а в качестве элемента для того, чтобы воспитать в нем необходимые качества для решения любого минимального уровня задач уже в новой сфере.
По сути своей нужно найти двигательные действия, которые у него дают результат, и встроить эти действия в новую систему. Нужно найти им применение, нельзя просто так брать и выбрасывать, отрезать как ненужный элемент конструкции. Как говорится, не бывает худо без добра, поэтому любые его знания и навыки можно адаптировать в новую сферу. Встаёт вопрос понимания этой сферы преподавателем, сможет ли он это реализовать, видит ли он сам, как сферы перетекают из одной в другую, есть ли у него плоскостные интеграторы. Если нет, то сделать это будет сложно.
Таким образом, мы, как бы, обманываем разум ученика. Он думает, что делает то же самое, что и раньше, но немного под другим углом. Могли измениться детали, но ядро деятельности не изменилось. Мы, как бы, исключаем изменения таким образом, то есть исключаем сопротивление, которое возникает при выстраивании новых двигательных действий.
И вот когда он получит определённое количество результатов, мы начинаем двигаться в сторону и вниз. То есть начинаем расширять и углублять плоскость деятельности. Всё дело в том, что в случае неудач, а они будут, ученик сможет, как бы, откатываться на старые двигательные действия и все равно решать задачу. Эта модель исключает страх неудачи, мы эксплуатируем прошлый опыт, но при этом учим ученика от него освобождаться. Но даже если он свалится в прошлый опыт, то он задачу решит, просто "по старому", что может быть дольше и не так эффективно, но главное, что решит!
Начать изучать тестирование вместе с нами: https://t.me/quality_academy
Обучение тестированию. Логические модели "ковка" и "сварка"
Существуют разные логические модели, используемые при обучении, и преподаватель часто тяготеет к одной из них (чаще именно к той, по которой обучали его), но было бы неплохо знать и уметь применять другие модели, чтобы получать на выходе настоящие шедевры/произведения искусства в виде готовых кадров/сотрудников/специалистов.
Первая модель - это модель "ковка", при котором прежде чем выковывать металл необходимо его размягчить для придания необходимой формы. Точно также и при работе с учениками. У ученика, который приходит учиться уже есть некая геометрическая форма, которая складывалась на протяжении его жизни. У него уже есть устоявшийся набор убеждений и навыков, взглядов на те или иные вещи, часть их которых необходимо изменить для достижения нужного конечного результата, так как они мешают и глобально меняют образ будущей геометрической формы.
Если мы видим, что убеждения ученика неэффективны и будем пытаться сразу их ломать, без предварительного нагрева "металла", то можем получить сколы и таким образом испортим заготовку и не получим нужный результат. Человек просто может не выдержать нагрузки, не сможет принять эти изменения и просто уйдет разочарованный в ваших подходах при обучении.
Малая часть людей приходят на обучение "мягкие", большинство в основе своей считает, что они всё делают правильно, просто им нужно сделать надстройку, используя текущие навыки и наработанный опыт (давай просто приварим недостающие элементы сверху? зачем меня размягчать и потом ковать?). Такой человек будет воспринимать любые удары молота как посягательство на свою геометрическую форму, которая ему уже стала родной и расставаться с ней он не очень хочет. Он вам как бы говорит: "просто привари вот эту штуку сверху и я пойду дальше".
Да, можно и иногда нужно использовать только модель надстройки (сварки), когда мы просто привариваем недостающие элементы на ту конструкцию, что есть. Но проблема в том, что прочность такой конструкции может оказаться недостаточной и при нагрузке в процессе решения задач произойдет излом. Такой человек может сломаться в процессе решения тех задач, к которым мы его готовили.
Как тогда действовать? Нужно заранее создавать сложные задачи, которые буду ломать попытки надстройки и сварки недостающих элементов. Но уровень нагрузки должен быть точечно отрегулирован. Любое поражение ученика (без вашего непосредственного участия) - это размягчение металла естественным путем. Ученик сам видит, что его навыки, знания никуда не годятся и готов меняться.
Ему не нужно говорить какой же он тупой и некудышный, не нужно ничего объяснять, он уже сам всё понял. Вот теперь его можно ковать и придавать нужную форму. Для этого нужны соответствующие условия, которые и должен создать преподаватель.
Это достижимо только при персональной работе, любая групповая работа создает искажение и приходится усреднять нагрузку и методы работы, чтобы сточить углы у всех в нужной мере. Но элементы такой работы должны присутствовать и при работе с группой.
Конечно, важно соблюдать баланс, когда мы говорим про профессиональную сферу. Мы не сможем размягчить человека в полном объеме и в этом нет необходимости, ученик не должен повисать у нас на плечах, плакать, истерить или резать вены. Но преподавателю нужно учиться видеть острые углы в форме ученика и в моменты его размягчения подхватывать и наносить небольшие удары для придания нужной формы.
Пусть ученику тяжело от ваших ударов и он часто жалуется (всегда тяжело менять себя), зато потом он будет благодарен, когда столкнется с трудностями и реальной нагрузкой в жизни, ведь его надежность много выше, чем если бы вы просто приварили сверху недостающие элементы и отпустили в "добрый" путь. Пусть лучше жалуется сейчас вам, чем потом, когда у него ничего не получится, так как виноваты всё равно останетесь вы.
Есть много нюансов в деле кузнеца. Условия работы, наковальня, молоты, время и т.д.. Также важны свойства металла (ученика), ведь каждый металл куется по разному и нагревается до нужной температуры. Также нужно уметь отличать ковку от сварки, ведь при сварке тоже происходит нагрев металла в местах соединения, верно?
Главное работать над собой и своими методами работы, понимать, что все люди разные и универсального алгоритма нет, но есть общие принципы и модели, которые позволяют увидеть образы решения задач при обучении.
В следующий раз порассуждаю про другую логическую модель, без который эти две могут не дать нужного результата, либо дадут, но времени понадобится много больше.
Приходите учиться и может быть мы сможем придать нужную форму и вам! :)
Ссылка на школу: https://t.me/quality_academy
Если вы профи в своем деле — покажите!
Такую задачу поставил Little.Bit пикабушникам. И на его призыв откликнулись PILOTMISHA, MorGott и Lei Radna. Поэтому теперь вы знаете, как сделать игру, скрафтить косплей, написать историю и посадить самолет. А если еще не знаете, то смотрите и учитесь.