Вряд ли можно добиться релевантной производительности посредством эволюционных алгоритмов. Как по мне, это хороший игрушечный пример, чтобы стать входной точкой в машинное обучение и ai, но недостаточно мощный, чтоб решать им практические задачи. Мне кажется, стоит уделять основное внимание машинному обучению и, в частности, нейросетям для генеративного дизайна
Это тоже инструмент. Хорош для некоторых задач. Рекомендую почитать статьи Давида Раттена об этом. Он пишет там и плюсы, и минусы. И я с ним согласен. Каждой задаче свой инструмент.
@@AzatAyupov-r3d эволюционные алгоритмы на шаг позади дип лёнинга. В эволюционном алгоритме происходит просто случайный перебор комбинаций, с выбором тех ,которые приводили к лучшему результату. В то же время, важной особенностью нейросетей является то, что они учатся на своих ошибках. То есть во время backpropagation происходит такая корректировка параметров, при которой каждый точно изменяется в направлении улучшения результата. Второй важной фичей является то, что эволюционники используют только свой опыт подбора значений, тогда как нейронки могут использовать существующий человеческий опыт.
@@danieljaszczyszczykoeczews2616 я бы на самом деле не рассуждал бы так уверенно об этом. Потому что опять же повторюсь - разные алгоритмы решают разные задачи. И потом у меня не так много опыта, чтобы однозначно отнести к одной категории нейросети, глубокое обучение и эволюционные алгоритмы, сравнивать их и говорить что из них лучше. Мне кажется это из той же самой оперы, когда кто-то пытается рассуждать что круче: скетчап, 3д макс или рино. Или например что круче: печенька или пряник? Очевидно, что инструменты разные, методы разные и какие-то задачи проще решить тем или иным инструментом.
@@danieljaszczyszczykoeczews2616 почитал и выяснил, что нейронные сети эффективнее работают с эволюционными алгоритмами. И вот в чём между ними разница: "Вы используете эволюционный алгоритм, если вы еще не знаете ответа, но вы можете каким - то образом оценить кандидатов и обеспечить значимые мутации. Нейронная сеть хороша, если у вас уже есть ответы (и входные данные), и вы хотите "train the computer", чтобы она могла "guess" получить ответы на неизвестные входные данные. Кроме того, вам не нужно много думать о проблеме, сеть сама разберется с ней".
@@AzatAyupov-r3d Да, генерирующие нейросети лучше работают с эволюционными алгоритмами, потому что могут направлять его в сторону правильного ответа гораздо быстрее (за счёт обратного распространения ошибки). Вы описываете процесс supervised learning, на основе уже готовых пар "вопрос-ответ", но можно ведь обучать на просто произвольно генерируемых данных, как это делает GAN. Генератор генерирует поначалу случайные паттерны, но детерминатор постоянно сверяет результат с правдоподобным и выдаёт обратно генератору разницу между тем, что должно быть, и тем, что есть. Таким образом генератор "на лету" эволюционно обучается создавать геометрию. Многослойные нейросети являются программной реализацией концепции глубокого обучения. Это как раз второй важный бенефит, который освобождает архитектора от необходимости создания сложных алгоритмов, учитывающих всё и вся, потому что внутренняя структура такой нейросети способна сама организоваться так, чтоб выдавать удовлетворительный ответ. Единственная проблема на данный момент состоит в том, что архитекторы далеки от data-science. Она исходит из того, что у нас реально нет годно фреймворка для реализации нейросетей внутри привычных нам Rhino и прочего: вместо Python у нас IronPython (numpy покинул чат), вместо Python 3 у нас Python 2.7 (Keras покинул чат). То есть речь не идёт о сравнении "3д макс или Блендер", а скорее о "карандаш или принтер". Способность обучаться на своих ошибках лучше, чем постоянный поиск среди случайных вариантов
1:06:30 алгоритм предлагает решение, где с северной стороны одна секция будет в один этаж, однако с северной стороны все секции можно сделать максимальной высотности, для получения максимальной площади. Как так вышло, что алгоритм это не учитывает и предлагает не самый лучший вариант?
Он предлагает решение исходя из поставленной задачи. Такой задачи не ставилось для алгоритма, чтобы он выжал максимальную площадь. Если добавлять этот параметр, то он так и сделает.
Если смотреть мой пример, то такое впечатление может сложиться, потому что я закладывал только одно условие и не учитывал других параметров. Если учесть все нужные, то варианты будут оптимальными.
Вряд ли можно добиться релевантной производительности посредством эволюционных алгоритмов. Как по мне, это хороший игрушечный пример, чтобы стать входной точкой в машинное обучение и ai, но недостаточно мощный, чтоб решать им практические задачи. Мне кажется, стоит уделять основное внимание машинному обучению и, в частности, нейросетям для генеративного дизайна
Это тоже инструмент. Хорош для некоторых задач. Рекомендую почитать статьи Давида Раттена об этом. Он пишет там и плюсы, и минусы. И я с ним согласен. Каждой задаче свой инструмент.
@@AzatAyupov-r3d эволюционные алгоритмы на шаг позади дип лёнинга. В эволюционном алгоритме происходит просто случайный перебор комбинаций, с выбором тех ,которые приводили к лучшему результату. В то же время, важной особенностью нейросетей является то, что они учатся на своих ошибках. То есть во время backpropagation происходит такая корректировка параметров, при которой каждый точно изменяется в направлении улучшения результата. Второй важной фичей является то, что эволюционники используют только свой опыт подбора значений, тогда как нейронки могут использовать существующий человеческий опыт.
@@danieljaszczyszczykoeczews2616 я бы на самом деле не рассуждал бы так уверенно об этом. Потому что опять же повторюсь - разные алгоритмы решают разные задачи. И потом у меня не так много опыта, чтобы однозначно отнести к одной категории нейросети, глубокое обучение и эволюционные алгоритмы, сравнивать их и говорить что из них лучше. Мне кажется это из той же самой оперы, когда кто-то пытается рассуждать что круче: скетчап, 3д макс или рино. Или например что круче: печенька или пряник? Очевидно, что инструменты разные, методы разные и какие-то задачи проще решить тем или иным инструментом.
@@danieljaszczyszczykoeczews2616 почитал и выяснил, что нейронные сети эффективнее работают с эволюционными алгоритмами.
И вот в чём между ними разница:
"Вы используете эволюционный алгоритм, если вы еще не знаете ответа, но вы можете каким - то образом оценить кандидатов и обеспечить значимые мутации.
Нейронная сеть хороша, если у вас уже есть ответы (и входные данные), и вы хотите "train the computer", чтобы она могла "guess" получить ответы на неизвестные входные данные. Кроме того, вам не нужно много думать о проблеме, сеть сама разберется с ней".
@@AzatAyupov-r3d Да, генерирующие нейросети лучше работают с эволюционными алгоритмами, потому что могут направлять его в сторону правильного ответа гораздо быстрее (за счёт обратного распространения ошибки).
Вы описываете процесс supervised learning, на основе уже готовых пар "вопрос-ответ", но можно ведь обучать на просто произвольно генерируемых данных, как это делает GAN. Генератор генерирует поначалу случайные паттерны, но детерминатор постоянно сверяет результат с правдоподобным и выдаёт обратно генератору разницу между тем, что должно быть, и тем, что есть. Таким образом генератор "на лету" эволюционно обучается создавать геометрию.
Многослойные нейросети являются программной реализацией концепции глубокого обучения. Это как раз второй важный бенефит, который освобождает архитектора от необходимости создания сложных алгоритмов, учитывающих всё и вся, потому что внутренняя структура такой нейросети способна сама организоваться так, чтоб выдавать удовлетворительный ответ.
Единственная проблема на данный момент состоит в том, что архитекторы далеки от data-science. Она исходит из того, что у нас реально нет годно фреймворка для реализации нейросетей внутри привычных нам Rhino и прочего: вместо Python у нас IronPython (numpy покинул чат), вместо Python 3 у нас Python 2.7 (Keras покинул чат).
То есть речь не идёт о сравнении "3д макс или Блендер", а скорее о "карандаш или принтер". Способность обучаться на своих ошибках лучше, чем постоянный поиск среди случайных вариантов
Привет, у тебя есть tg канал, для общения по поводу рино?
Да, t.me/archicadgh
1:06:30 алгоритм предлагает решение, где с северной стороны одна секция будет в один этаж, однако с северной стороны все секции можно сделать максимальной высотности, для получения максимальной площади. Как так вышло, что алгоритм это не учитывает и предлагает не самый лучший вариант?
Он предлагает решение исходя из поставленной задачи. Такой задачи не ставилось для алгоритма, чтобы он выжал максимальную площадь. Если добавлять этот параметр, то он так и сделает.
@@AzatAyupov-r3d значит я упустил этот момент. Считал, что алгоритм ищет по 2-ум критериям сразу.
@@Geometrik32 нет, мы делали пример только по одному критерию. Попробую в другой раз учесть больше факторов.
@@AzatAyupov-r3d понял вас, спасибо за разъяснение
..самые лучшие варианты в начале расчёта всегда, дальше оптимизация не в лучшую сторону. Не хватает некоего гармонического условия.
Если смотреть мой пример, то такое впечатление может сложиться, потому что я закладывал только одно условие и не учитывал других параметров. Если учесть все нужные, то варианты будут оптимальными.