Pull to refresh
66
0
Александр@Taetricus

Пользователь

Send message
По какому такому определению?

Результатом применения любой унарной операции к суперпозиционному числу, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения унарной операции к любому числу из множества, которое охватывает исходное суперпозиционное число. Например: sin([-pi, pi]) = [-1, 1]. Результатом применения любой бинарной операции над суперпозиционными числами, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения бинарной операции к двум любым числам из множеств, которые охватывают исходные суперпозиционные числа. Например: [-3, 6] — [-12, 7] = [-10, 18].


Вот у вас есть число x=[-1, 1], чему равно 1/x?
(-бесконечность,0)(0, бесконечность)
Ээээ… так «можно производить» или «невозможно посчитать»?
Можем ли мы в математическом смысле вычислить выражение TREE(3)*TREE(3) — да можем, а использовать для вычисления в реальных компьютерных программах — нет, не хватит места для хранения в двоичном виде.
Это какое-то ваше собственное определение «простых feedforward», я так понимаю?

Да. Но в различных источниках по которым я изучал нейронные сети, всегда рассматривалась нейронная сеть в которой каждый сигнал поступает на вход каждого нейрона следующего слоя и сигналы умножались на веса, а сумма каждого сигнала перемноженного на вес поступает на вход функции активации, в последствии я изучал и более сложные feedforward сети и у меня почему то отложилось в голове название таких сетей как «простые feedforward», это мой недочёт, но я и не идеален и не претендую на звание лучший писатель.
То есть я считаю, что нужно писать статью о том, что может быть полезно.
Я гуглил «probability density function neural network» на 5-ти первых страницах ничего интересного нету, в основном построение плотности вероятности с помощью нейросетей, а не наоборот. Хотя найдено 59 700 000 раз.
Вау! Из отношения целого и «суперпозиционного » числа мы получим два «суперпозиционных» числа
Получаем одно суперпозиционное число, состоящее из 2 промежутков.
хотя бесконечность — это не число
И что? В математике бесконечность встречается сплошь и рядом, а при обучении нейронных сеть, если функция активации подобрана корректно, бесконечность мы никогда и не получим.
«1/sin((- бесконечность, бесконечность))»
(-бесконечность, 0) (0, бесконечность)
Вы не правильно поняли, функция не рассматривается на концах, программист определяет бинарные и унарные операции, а затем в функцию подставляется x в виде суперпозиционного числа, то есть вычисления будут вот такими:
4*[0, 0.729] — 3 * [0, 0.9] = [0, 2.916] — [0, 2.7] = [-2.7, 2.916]
4*[-0.729, 0] — 3 * [-0.9, 0] = [-2.916, 0] — [-2.7, 0] = [-2.916, 2.7]
Но как видно, результат все равно не верный. Но алгоритм обучения нейронных сетей с помощью плотностных чисел всё ещё может быть пригодным для использования, поскольку в конце когда только один вес становиться плотностным числом, ошибка может в результате оказаться не значительной и алгоритм может подстроиться под ошибку. Но всё нужно смотреть на практике.
Все действия которые можно производить над вещественными числами, можно производить и над суперпозиционными, по определению. Другой вопрос, что на практике некоторые действия не возможно посчитать, но числа предназначены для обучения простых feedforward нейронных сетей, а там используется только сложение, умножение и действия из функции активации. Изучая нейронные сети, первой функцией активации с которой я познакомился, была сигмоида и возвести e в степень являющуюся суперпозиционным числом — не составляет никакого труда.
В этих числах нет ничего уникального, уникально здесь их применение для обучения нейронных сетей и даже если такое применение существует, то я о нём не знал и в любом случае должен был написать статью.
(-бесконечность, -1], [1, бесконечность)
А зачем вы мне этот вопрос задаёте? Я кому то предложил это реализовать? Нет! Цитата из статьи:
будет крайне плохо если я умру и знания о этих числах уйдут со мной. Поэтому я и решил написать эту статью
Это прям один в один суперпозиционные числа.
Поставим вопрос иначе: для ваших «чисел» определены все операции, которые используются в современном машинном обучении?

Для суперпозиционных чисел доступны все действия, которые доступны и для вещественных чисел. Вот цитата из статьи:
Результатом применения любой унарной операции к суперпозиционному числу, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения унарной операции к любому числу из множества, которое охватывает исходное суперпозиционное число. Например: sin([-pi, pi]) = [-1, 1]. Результатом применения любой бинарной операции над суперпозиционными числами, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения бинарной операции к двум любым числам из множеств, которые охватывают исходные суперпозиционные числа. Например: [-3, 6] — [-12, 7] = [-10, 18].
Сделал поиск в вашей слова «разность», но не нашёл его. Да и вообще математической формализации вашего изобретения тут явно не хватает, поэтому и написал ниже, что «если я правильно понял вашу мысль».

Цитата с примерами из статьи:
Результатом применения любой унарной операции к суперпозиционному числу, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения унарной операции к любому числу из множества, которое охватывает исходное суперпозиционное число. Например: sin([-pi, pi]) = [-1, 1]. Результатом применения любой бинарной операции над суперпозиционными числами, это суперпозиционное число, которое охватывает множество чисел, которые могут быть получены в результате применения бинарной операции к двум любым числам из множеств, которые охватывают исходные суперпозиционные числа. Например: [-3, 6] — [-12, 7] = [-10, 18].

Из этих определений можно понять, что к суперпозиционным числам можно применять такие же унарные и бинарные действия, как и к вещественным.
Поэтому вместо того, что изобретать новые числа — можно взять существующие математические объекты и задать (и именовать) для них новые функции.
Это очевидно, как и очевидно то, что вычисления с комплексными числами можно сделать и без них, поэтому вместо того, что изобретать новые числа — можно взять существующие математические объекты и задать (и именовать) для них новые функции (это ваша логика). А знаете почему ввели комплексные числа? Потому, что это удобней.
И вы утверждаете, что у вас эти метрики будут хорошими.
Покажите пожалуйста где я такое утверждал? Я сказал что он может оказаться эффективным, в начале нужно его реализовать, затем сравнить с существующими решениями. Не нужно путать, я ничего не утверждал.
Достойно уважения то, что вы переизобрели такие понятия, как плотность вероятности и некоторые другие.

Зачем вы дали мне статью на википедию, в статье указано что я знаком с этим термином, числа по этому я и назвал «плотностные», от названия плотность вероятности, хотя я и узнал об этом термине после того как придумал алгоритм из статьи.
Но, к сожалению, вы опоздали на пару сотен лет. В нынешнее время более продуктивно сначала изучить то, что изобретено другими, а уже потом изобретать своё.

Количество знаний накопленных человечеством слишком велико, что один человек мог знать всё. Математика это не основной мой род занятий, с натяжкой можно назвать хобби. Но даже в моём основном хобби, которым является программирование, которым к слову я уже увлечён без малого 20 лет, 6 лет назад мне понадобилась структура с определёнными свойствами и я её изобрёл, а потом оказалось что такая структура была изобретена в 1959 и называется она «префиксное дерево», за 14 лет я читал и смотрел множество учебников, статей, видеороликов по программированию, проходил курсы и нигде никто не упомянул о префиксных деревьях. К тому же эта статья не о плотности вероятности, а про применение её в обручении нейронных сетей. Может кто то уже без меня придумал такой способ обучения, но мне об этом не известно. Если кто-то уже придумал такой подход в обучении нейросетей, ну ладно, одной статьёй больше, одной меньше, зато я буду уверен что если никто ещё не додумался использовать плотность вероятности в обучении нейронных сетей, то эта идея не исчезнет, если со мной, что то случиться.
Можно ли поинтересоваться вашим возрастом?
31
Так вот, вы имеете функцию sin(x) на сегменте [-4,4] и хотите найти её максимум. Вы делите промежуток на 2 части [-4,0]; [0, 4] и выбираете ту из них, максимум на которой больше. Главная загвоздка данного шага в том, чтобы узнать, какую половину сегмента выбрать.
Вы не внимательно читали статью, как находить в какой половине находиться максимум, указано (для этого и используются суперпозиционные числа).
Понятно, что для синуса координаты максимумов известны, но что, если ваша функция неизвестная? Для неизвестной функции вам недоступна операция нахождения максимума на промежутке. Всё, что вы можете — это вычислить значение функции в какой-нибудь точке.
Вы либо очень не внимательно читали статью, либо не смогли ничего понять. Попытаюсь объяснить максимально просто. Все расчёты в функциях ведутся с использованием суперпозиционных чисел. Допустим есть неизвестная нам функция, пусть это будет y = x^2 + 1, а нам нужно найти максимум на участке от 0 до 10, в начале вычисляем y([0, 5]) = ([0, 5])^2 + 1 = [0, 25] + 1 = [1, 26], затем вычислим y([5, 10]) = [5, 10]^2 + 1 = [25, 100] + 1 = [26, 101]. Как мы видим в первой половине значения варьируются от 1 до 26, а во второй от 26 до 101. Поскольку функция нам не известна, мы не знаем в какой конкретной точке находится максимум, но мы точно знаем в какой половине находится максимум, с помощью метода бинарного поиска мы сможем найти если не максимум, то как минимум число очень близкое к нему, что для обучения нейросетей нам и нужно.
Реально работающие методы поиска максимума (например, метод золотого сечения) вычисляют значение функции, руководствуясь определённой стратегией, и постепенно сходятся к максимуму. Критерий эффективности таких методов обычно в том, чтобы решить задачу за минимальное количество вычислений функции.
Функцию y = sin(x) я брал лишь для примера и простоты объяснения, на практике для обучения нейронных сетей нужно будет искать максимум в функции вида y(x1,x2,x3… xn) = огромное выражение использующие все иксы, не думаю что метод золотого сечения будет эффективней.
Нет вы не правильно поняли, не по строению не по работе, это ни вектор, ни многочлен.
Суперпозиционные числа назовем общепринято — множество (диапазон) чисел.

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

Таким способом можно называть всё что угодно:
дробь — отложенное вычисление
питьевая вода — соли различных металов растворённые в большом количестве монооксида водорода
воздух — газообразная смесь состоящая из кислорода и азота, с небольшим вкраплением водяного пара и иных газов

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

То на сколько обученная сеть справляется с поставленными задачами.
и как вы меряете «эффективность»?

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

Как я писал в статье, этот алгоритм не готовое решение, а просто идея и опять же, как указанно в статье, я озвучил идею потому, что если каким то чудом (хотя навряд ли конечно, но всё же) только я додумался до такого алгоритма, в случае если со мной что то случиться, эти знания не будут утеряны. А там глядишь кто то прочитает эту статью и на основе высказанных мною идей придумает что то реально применимое.
Если как-то оптимизировать вычисление плотности вероятности, жертвуя точностью в угоду скорости, то легко пропустить локальный минимум. А если считать всё точно, то даже для крайних значений для каждого веса объём вычислений вырастет как 2^N, где N — количество нейронов.
Объём вычислений зависит не только от количества нейронов, но и от количества слоёв. Про оптимизацию о которой я упомянул в статье, понятно в двух предложениях не рассказать, но она позволяет спроектировать сеть таким образом, что объем данных и количество вычислений можно снизить, а так же вычисления можно будет очень сильно распараллелить. Это всё равно не позволит обучать большого размера нейронные сеть, но позволит увеличить допустимый размер сети. Как я писал раньше, для такой оптимизации необходимо, чтобы произведение плотностных чисел, обладало нужным свойством.
Обучение базируется на том, чтобы корректировать веса с помощью обратного распространения ошибки, который, в свою очередь, требует того, чтобы функция активации была дифференцируема. Вопрос — как это считать в случае с использованием плотностей вероятности?
При использовании плотностных чисел, функция активации может быть фактически любой, главное чтобы её было легко вычислять. Думаю f(x) = x — в полне подойдёт.

Information

Rating
Does not participate
Location
Каменец, Брестская обл., Беларусь
Date of birth
Registered
Activity