Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (4)

Наибольший вклад в теги

Все теги (22)

Лучшие ответы пользователя

Все ответы (14)
  • Как уйти с распутья технологий?

    @0x131315
    Стратегию уже подсказали: найти любую работу, чтобы кушать, и тем самым выиграть время на изучение чего-то, что поможет зарабатывать больше, и тем самым выиграть еще больше времени, и в конце концов изучить то, благодаря чему будешь работать не на зарплату, а на удовлетворение.

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

    А так по моему важнее не инструмент, а умение им пользоваться. Начинать следует с алгоритмов, а язык использовать как инструмент.
    Хотя откладывать изучение языка тоже нельзя - практика важнее теории. Так что в комплексе - постигай алгоритмы на практике, по мере необходимости, и запоминай их.

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

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

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

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

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

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

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

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

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

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

    С третьим - придешь, когда поймешь, что тебе это нужно. Из-под палки не учатся.

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

    С первым все просто: не можешь что-то решить - отложи, и спустись на ступеньку ниже по шкале сложности.
    Есть такой психологический феномен: от решенных задач ты получаешь удовлетворение, силы и мотивацию двигаться вперед, от нерешенных - негатив, апатию, потерю воли и мотивации.
    Причем мозг устроен так, что запоминается лишь негатив. Поэтому крайне важно решать задачи, и не допускать незавершенных задач. Отложи, но не забрасывай.
    Нерешенная задача - это как психологический запой, нечто вроде депрессии: одна нерешенная задача тянет за собой другую нерешенную задачу, и так быстро уходишь на дно, теряя мотивацию и веру в себя. Замкнутый круг. Ты находишься именно в нем.

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

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

    Сложность задачи не особо влияет на мотивацию, а вот факт решения/нерешения - влияет сильно. Не решил - значит не осилил, не осилил - значит не достоин, не достоин - значит иди ко дну и не рыпайся. Это как импотенция: импотент - значит не мужик, не мужик - значит никто, ничего не достоин и об тебя можно ноги вытирать. Подсознание портит всю малину, так что не следует давать ему шанса - лучше решить задачу попроще, чем не решить по сложнее.
    Ответ написан
  • Как преодолеть кризис начинающего специалиста?

    @0x131315
    Да, программист - не так романтично на деле, как кажется)
    Потому что, в отличии от всяких мечтаний, в реале вопрос завязан на деньги, а деньги - на время.
    Программист работает на заказчика, заказчику нужно быстро и дешево - отсюда готовые решения и костыли сейчас, с прицелом разобрать это потом (но потом тоже костыли)
    Поначалу все это очень напрягает и срывает башню - нас учили не такому, нас учили стремиться к простому и оптимальному коду, а везде вокруг накручивают дичайшие костыли, и это жесть, но...
    Со временем понимаешь, что лучше сейчас быстро сделать костыль, и забыть об этом, возможно навсегда, чем потратить времени в 3-4 раза больше, но сделать по канонам... Просто у программиста нет столько времени...
    В конце концов в реальности работа программиста не так сложна, и во многом не так красива, как ожидается - по большей части это рутина и разгребание чужого страшного кода, отладка и ваяние своего страшного кода, сожаление о том, что не было возможности сделать хорошо, и радость, когда попадается что-то интересное, или то, что сделал хорошо, качественно
    Как и на любой работе, есть свои светлые и темные стороны. И деньги не так легко достаются - программист за них щедро платит нервами. Как и врач, и любой другой специалист
    Ответ написан
  • Как научить ботов учитывать гравитацию планеты при стрельбе?

    @0x131315
    По поводу скрипта - он странный:
    1) Он работает только для обьектов, которые участвуют в столкновениях.
    2) Он не учитывает дистанцию до центрального тела, только его массу, и работает только для случаев, когда дистанция между противниками в тысячи раз меньше дистанции до центрального тела, т.е. более-менее точен где-то на задворках звездной системы, вдали от звезды. На более ближних дистанциях начинает безбожно врать.
    3) Он наполняет обьектами массив, который не особо нужен скрипту для работы, который нигде не очищается. Это - утечка памяти.
    4) Его можно прикладывать только к одному телу - центральному. Иначе это умножает утечку памяти и сильно расходует процессор. В некоторых случаях его можно заменить триггером. И часто его оптимизируют, вызывая раз в несколько десятков кадров, а не каждый кадр. Также пишут, что указание маски слоя в Physics.OverlapSphere повышает эффективность работы.

    По поводу утечки.
    Не знаю тонкостей unity, не могу сказать точно, насколько она серьезна. Но возможны два варианта:
    1) обьект скрипта пересоздается каждый кадр, и время от времени устаревшие экземпляры собирает сборщик мусора.
    Тогда утечка равна размеру массива помноженному на количество кадров в секунду и на таймаут сборщика мусора.
    При условии, что скрипт используется только на одном обьекте (надеюсь ты не додумался применить его ко всем обьектам?), для 1000 обьектов в сцене, 60фпс и 10 секундном таймауте сборщика мусора, утечка составит 5..50Мб - именно столько памяти игра будет отьедать впустую, никуда не используя, только на один экземпляр этого скрипта.
    Если скрипт применен к 10 обьектам, утечка увеличится до 50..500Мб.
    А если обьектов 1000?
    Так и рождаются игры, которые требуют 16Гб оперативки.
    Это не говоря о бесполезной трате процессорных ресурсов: если по глупости применить скрипт ко всем обьектам, эффективно работать он будет только на одном, но жрать память и процессор будет за всех.
    На 1000 обьектах потребление процессора этим скриптом увеличится в 1000000 раз: 1000 скриптов должны будут каждый обработать по 1000 обьектов.
    Так рождаются игры, которые требуют топовое железо.
    Всего 2 легкие ошибки с одним скриптом (далеко не основным) - и такой потенциал! :)
    2) Используется один экземпляр скрипта, он не пересоздается каждый вызов.
    Тогда обьем массива каждую секунду умножается на фпс, пока массив не забьет всю память.
    И сборщик мусора тут не поможет, т.к. скрипт существует пока существует основной обьект, т.е. пока загружен уровень - всю игровую сессию.
    Для тех же условий утечка в первую секунду составит 0,5..5Мб, и каждую секунду будет увеличиваться на столько же. За час игры утечка составит от 2 до 20Гб, в зависимости от размера структур.
    Утечка процессора останется той же, что и в первом варианте.

    Твой вариант походу первый, иначе бы скрипт отработал ровно один раз, и гравитация после первого кадра пропала: массив используется для проверки тел, к которым еще не прикладывалась гравитация.
    А это не так - раз есть постоянная ошибка, гравитация работает дольше одного кадра.
    Кстати, проверка эта лишняя, в документации ее нет.

    По поводу ошибок прицеливания: введи поправки на гравитацию при прицеливании.
    Не факт, что это тебе поможет, все-таки скрипт у тебя кривой, и непонятно правильно ли ты его используешь - каковы максимальные дистанции между противниками, каковы минимальные дистанции от противников до центрального тела, каков размер центрального тела, как создаются снаряды (независимыми или привязанными к тому, кто выстрелил), как задается их скорость (постоянная или относительно скорости выстрелившего), какова скорость снаряда и цели.
    Но самое простое:
    dy=g*t*t/2
    t=l/v
    dy - величина смещения снаряда гравитацией на текущей дистанции
    g - величина гравитации, локальная (вблизи точки выстрела). В твоем скрипте гравитация постоянна, не зависит от координат, и равна массе центрального тела, значит вместо g можно подставить массу центрального тела.
    t - время полета снаряда
    l - прямая дистанция до противника.
    v - глобальная скорость снаряда (относительно мира).
    Ограничения:
    Локальная гравитация неприменима, если дистанция сравнима с расстоянием до центрального тела - там нужен дополнительный учет кривизны поля гравитации. Гравитация в разных точках пути снаряда будет разная, а это сильно снизит точность, особенно на больших дистанциях - на много порядков.
    Прямая дистанция неприменима, если дистанция сравнима с расстоянием до центрального тела - там нужен дополнительный учет кривизны поля гравитации. Дистанция будет не прямой, а дугой, и значит снаряд пройдет больше расстояния, лететь будет дольше, и поправка нужна больше.
    Если время полета больше нескольких секунд, придется учитывать влияние гравитации на скорость снаряда. Снаряд будет ускоряться или замедляться гравитацией, а значит точность с дистанцией начнет быстро падать.
    Если скорость цели сравнима со скоростью снаряда - придется учитывать, что цель движется. Пока снаряд летит в точку прицеливания, быстрая цель оттуда уже убежит, и точность никакой не будет.
    Ответ написан
  • Действительно ли важно правильное питание для мозга программиста (с точки зрения науки)?

    @0x131315
    Интеллектуальным спецам нужно не только правильно питаться, но и правильно жить:
    1 - шум отвлекает, "выключает" мозг. Шум - это радио, телевизор, и родня.
    Нужна отдельная комната, желательна отдельная хата.
    Дети в доме - конец работе, комната не спасет.
    Единственное тихое время - ночь, но она слишком коротка.
    2 - без четкого распорядка дня работа неэффективна, без распорядка внимание с удовольствием поглощают всякие "срочные" дела, мозг ищет любую возможность убежать от работы. С точки зрения эволюции и выживания - работа мозга самая тяжелая по ресурсам организма, вот организм и пытается эти ресурсы экономить, выключая мозг. Сюда же относятся раздражители и рассеиватели внимания - интернет, телефон, родственники.
    Можно тренировать силу воли, но проще приучить себя к определенному порядку действий, например в рабочие часы блокировать средства связи: смарты в беззвучный режим и с глаз долой, роутер режет все, кроме справочных сайтов, справочные сайты можно заменить оффлайн-книжкой. В общем стараться выводить себя в оффлайн. Ночные часы почти автоматом оффлайновые - никто не побеспокоит.
    3 - когда работаешь головой, требуется постоянно учиться, но к концу рабочего дня мозг "протухает", так что учиться нужно в первой половине дня.

    По питанию:
    Заметил, что чувствую себя гораздо лучше, если не ем сахар, мясо, жирное, и не злоупотребляю водой, и вообще немножко голодую.
    Впрочем, когда чем-то увлечен, голодуешь автоматом - тупо забываешь покушать. Но если совсем не есть - быстро теряешь силы, быстро выдыхаешься, появляется слабость, истощение. В общем еда в прямом смысле заряжает.
    В то же время если пить слишком мало, или слишком много, есть плотно, обильно, употреблять много сладкого и жирного - обязательно будет хуже, сразу или отложено, в течении нескольких дней.
    Вода с жиром вообще не сочетаются: если ты имеешь лишний жирок, излишек воды тебя "раздует" как бегемота, заметно увеличив обьемы жирка, зато когда вода выйдет (а выходит она быстро, в течении 2-3 дней) - также быстро "похудеешь". Так что жир - настоящая подкожная емкость, способная питать водой в течении нескольких суток напрямую, и еще несколько суток - по мере выгорания жира.
    Таким образом нужно есть и пить чуть больше минимально необходимого уровня.
    На счет худобы - слишком много жира в теле это плохо, и болезни всякие, и просто тяжело, но в то же время жир - отличный источник энергии, и когда надо много работать, но кушать нечего/забываешь - жир желателен.

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

    Вообще с энергоснабжением организма все очень забавно: нативное топливо клеток, в которое конвертируются все другие топлива - молекулы АТФ, это что-то вроде маленьких химических батареек, весь организм пропитан этим веществом, но мгновенная масса его ничтожна - около 250гр. Фокус в том, что эти батарейки производятся организмом в огромных количествах, и тут же потребляются. В магазинах продают порошок АТФ для спортсменов, рекомендуют принимать по полграмма в сутки - это на самом деле звучит смешно, если учесть, что в сутки организм производит около 40кг(!) АТФ (и тут же их поглощает) - эти полграмма погоды не сделают никак. Избыток в 250гр - это именно что оперативный (АТФ - "мгновенное" топливо, может потребляться сразу по потребности) резерв, как конденсатор, на случай если возникнет скачок энергопотребления: пока будет расходоваться этот резерв, в работу успеют включится дополнительные механизмы синтеза. А этих механизмов у нас много.

    Главный цикл энергообмена: АДФ + фосфорная кислота + энергия <=> АТФ + вода.
    Т.е. цикл замкнутый: сколько поглотилось, столько и выделилось. Но можно заметить, что без фосфора и воды процесс не идет.
    Фосфор - в рыбе, значит нужна рыба в рационе, и побольше: мозг требует активного энергообмена.

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

    Основные механизмы синтеза АТФ:
    1 - гликолиз: С6Н12О6(глюкоза) + 2Н3РО4 + 2АДФ = 2С3Н4О3(ПВК) + 2АТФ + 2Н2О. Для превращения сахара/углеводов в глюкозу нужен инсулин, который синтезирует поджелудочная.
    ПВК в мышцах превращается в муравьиную кислоту - та, что вызывает жжение в мышцах.
    2 - кислородный гликолиз: 2С3Н6О3(молочн.кислота) + 6О2 + 36Н3РО4 + 36АДФ = 6СО2 + 42Н2О + 36АТФ
    3 - расщепление жиров, липолиз - дает много тепла, выделяется 131АТФ и много воды. Инсулин тормозит липолиз - глюкоза не дает сжигать жиры. Жировой реактор позволяет греться зимой, и "пить" без воды - поэтому мишки набирают жирок перед спячкой, для отопления, а верблюды запасают жир в горбах - чтобы пить.

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

    Для того, чтобы увеличить подачу энергии в мозг в 20 раз, нужно сьесть углеводов(сахара например), поработать мышцами и активно дышать (ага, секас считается).
    Для того, чтобы увеличить подачу энергии в мозг в 65 раз, нужно наличие жира в организме (в принципе обычное питание и так обеспечивает до 100гр жира в сутки, так что всегда есть что сжигать) и час физ.нагрузки на воздухе (требуется очень много кислорода), отсутствие инсулина: после тренировки 2 часа ничего не есть и 12 часов не потреблять углеводов, можно потреблять только продукты с низким гликемическим индексом, иначе углеводы запустят синтез инсулина, который погасит липолиз.

    Таким образом главных источника энергии два: кислородный гликолиз и липолиз.
    Гликолиз - "быстрый", запускается сразу, как начинается работа в мышцах.
    Липолиз - "медленный", но чрезвычайно мощный, разжигается час, зато горит 12 часов, и обеспечивает вчетверо большую мощность, чем первый - позволяет переносить большие нагрузки, и переносить долго.

    Оба источника взаимоисключающие: пока есть глюкоза - липолиз не запустится, когда запущен липолиз - нельзя есть углеводы.
    Зная это, можно "профилировать" энерговыработку: в случае срочной работы - принимаем сахар и воду (чтоб предотвратить обевоживание и растворить сахар), и работаем, если работа длительная - сахар сгорает, и запускается жировой реактор, который тащит еще 12 часов, но сожженные жиры придется компенсировать заранее, иначе сжигать будет нечего, так что если подобные нагрузки не редкость - требуется питание с большим количеством жиров и солей: жидкость вымывает соли из костей, делает их хрупкими, а когда потеем или сжигаем глюкозу с жирами - жидкости из организма, а значит и солей (т.к. раствор), уходит много. Чтоб при всем при этом не сыпались зубы - юзаем пасты с фтором.

    Так что, чтобы лучше себя чувствовать, нужны тренировки, физическая нагрузка, и сжигание жиров - наиболее выгодный и "легкий" источник энергии: запустив реактор, можно окончить тренировку, но продолжить получать энергию еще полсуток! Эти полсуток можно сохранять высокую активность, без истощения, усталости.
    Вот как-то так это все и работает. Наверное поэтому за границей так популярны ежедневные утренние пробежки на свежем воздухе - часик побегал, и целый день как заведенный, но без спец.питания (ограничения сахара) они бесполезны.

    Ссылки любопытствующим: 1, 2, 3, 4, 5, 6

    Исходя из всего вышеизложенного, идеальный рабочий день выглядит так:
    Проснулись, умылись, покушали, часик побегали, искупались, и на работу, первые часы - усваиваем новое, остальные - работаем, после пробежки не кушаем пару часов, весь день не потребляем сахаросодержащее, хаваем рыбку, жиры потребляем исходя из потребностей: нужно поддерживать количество жирка, если начали жиреть - снижаем количество жирной пищи, начали худеть - повышаем. Воду пьем чуть больше нормы, не допускаем перепивания - иначе раздуемся, тут очень хорошо работает спортивная фишка: когда хочется пить, а пить нельзя - полоскают рот водой и сплевывают ее. И каждый день пользуемся фторированной пастой или порошком - не сколько для чистки зубов, сколько от выпадения зубов.
    Ответ написан
  • Существуют ли OpenSource нейросети по работе с текстом и общением?

    @0x131315
    Нейросеть не работает с текстом. Она работает с данными, а уж какие данные - это как обучишь.

    Тебе нужен OpenSource framework для построения нейросетей. Далее строишь нейросеть, и обучаешь.

    Нейросети не самообучаются и очень ограничены. Их требуется обучать извне.
    Их необходимо тренировать в контролируемых условиях, и далее фиксировать, запрещать развитие. Так обычно и делают.
    Именно такие обученные и зафиксированые сети и представляют коммерческую ценность, являясь законченным продуктом. Нефиксированных сетей боятся как огня - они склонны выкидывать сюрпризы.

    Дело в том, что развитие нейросетей спонтанно, и без контроля приводит к хаосу.
    В контролируемых условиях развитие жестко контролируется, потому сеть и обучается в нужную сторону.
    В боевых условиях сложно либо невозможно создать адекватную систему контроля, так что нередки сюрпризы.

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

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

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