Как менять веса в нейросети

0
24

Как бы вы инициализировали веса нейронной сети

Про отсуствие пробела — это не ошибка, т.к. запятая считается разделителем, ты весь промт можешь без пробелов вообще зах*ячить между токенами. У меня вообще отдельная схема формирования запроса, что для многих покажется «о ужас» но я не продвигаю это в массы, как говорится «каждый дрочит как он хочет».

Ага, появилась клавиатура, мол она за ним сидит, т.к. я еще объяснял в прошлом посте что, всё что дальше от начала промта является дополняющим но не основным, а наш токен «computer» достаточно далеко. Ок, Давайте я еще прокачаю этот промт до приемлемого вида. Что бы не проходить по каждым скобкам и всё объяснять, я сразу покажу готовый вариант:

При выполнении следующего примера создается график, который позволяет нам сравнивать диапазон весов с различным количеством входных значений. Мы видим, что при очень небольшом количестве входных данных диапазон велик, около -1,5 и 1,5 или от -1,0 до -1,0. Затем мы видим, что наш диапазон быстро падает примерно с 20 весов до примерно -0,1 и 0,1, где он остается достаточно постоянным.

Таким образом, модифицированная версия подхода была разработана специально для узлов и слоев, использующих активацию ReLU, популярную в скрытых слоях большинства многослойных моделей Perceptron и сверточных нейронных сетей. Текущий стандартный подход к инициализации весов слоев и узлов нейронной сети, использующий выпрямленную линейную (ReLU) функцию активации, называется инициализацией «he». Он назван в честь Кайминга Хэ, в настоящее время научного сотрудника Facebook, и был описан в статье 2015 года Кайминг Хэ и др. под названием «Углубление в выпрямители: превосходство на уровне человека в классификации ImageNet».

Управлять весом можно точечно, помнишь я писал про циферки ? так вот если мы укажем (girl:1) вес будет 100% а если (girl:0.5) то 50% догоняешь ? Мы можем корректировать точечно указывая 0.54 1.15 1.35 и т.д. НО! ВАЖНО! Если вы сделаете вес 2 то будет вот так!

8K, HD, (ultra realistic photo), ((best quality)), ((masterpiece)), ((realistic)), (detailed), SFW, (from below), ((night, dimly lit, low key, rim lighting)),
girl 25 years, Europe root, (cyan hair), ponytail hair, colored hair, (black eyes), detailed eyes, thin,
Perfect ass, attractive, (flat chest),(small breast),
(lying on bed, legs spread, touching her breasts),
dressed a short white top,
(Gamer girl room, posters, actions figures of super heroes, neon, computer),
black border, anime character, neko, high detail, high quality, intricate, details, beautiful, (rtx)

Девушка есть, комната есть, мониторы есть, свет есть, всё на месте, всё прекрасно, но девушку что то перекрывает, да и в целом кадр странно выглядит. Что делаем ? Правильно распределяем веса. Для примера я увеличу значения на такой детали как ((computer)) заключим его в скобки и вот что получим

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

8K, HD, (ultra realistic photo), ((best quality)), ((masterpiece)), ((realistic)), (detailed), SFW (from below:1.1), ((night, dimly lit, low key, rim lighting)),girl 25 years, Europe root, (cyan hair), ponytail hair, colored hair, (black eyes:1.23), detailed eyes, thin, Perfect ass, attractive, (flat chest:1.13), (small breast:1.22), (lying on bed, legs spread, touching her breasts),dressed a short white top, (Gamer girl room, posters, actions figures of super heroes, neon, computer), black border, anime character, neko, high detail, high quality, intricate, details, beautiful, (rtx:1.1)

ЧИТАТЬ ТАКЖЕ:  Что такое искусственные нейросети

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

Да не факт что будет присутствовать 100% в кадре то что мы указываем при больших запросах, потому как, нейросеть учитывает их, но решает сугубо на рандом и сугубо по своему желанию что оставить, а на что забить болт, и в таких ситуациях зачастую у вас будет меняться итоговое изображение при каждой генерации: в окружении, в деталях и т.д. за исключением того что имеет БОЛЬШОЙ ВЕС

Мы видим, что диапазон весов составляет от -1,573 до 1,433, что близко к теоретическому диапазону от -1,788 до 1,788, что в четыре раза превышает стандартное отклонение, охватывая 99,7% наблюдений в распределении Гаусса. Мы также можем видеть, что среднее значение и стандартное отклонение сгенерированных весов близки к заданным значениям 0,0 и 0,447 соответственно.

Вес в промте имеет не мало важную часть т.к. от этого зависит напрямую качество и исходный результат. Сейчас покажу немного парктики и паралельно будет теория со всеми вытекающими. Для начала многие из вас уже видели в промтах такие вот скобочки ((( ))) >> [[[ ]]] так же сочетания вот такого вида (masterpeace:1.2) . Но мало вообще кто объясняет что это такое, и многие пихают это чуть ли ни во весь промт с криками «УУУУУХХХХ КАК АХ*ЕННО СЕЙЧАС ПОЛУЧИТСЯ. «

затем меньший вес в одинарных скобках и остальное чуть менее важно, но должно как бы присуствовать. Да не факт что будет присутствовать 100% в кадре то что мы указываем при больших запросах, потому как, нейросеть учитывает их, но решает сугубо на рандом и сугубо по своему желанию что оставить, а на что забить болт, и в таких ситуациях зачастую у вас будет меняться итоговое изображение при каждой генерации: в окружении, в деталях и т.д. за исключением того что имеет БОЛЬШОЙ ВЕС. И так давайте посмотрим на результат

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

Он назван в честь Ксавьера Глорота, в настоящее время научного сотрудника Google DeepMind, и был описан в статье 2010 года Ксавьера и Йошуа Бенжио под названием «Понимание сложности обучения нейронных сетей с глубокой прямой связью». Существует две версии этого метода инициализации веса, которые мы будем называть «xavier» и «normalized xavier».

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь