LINUX.ORG.RU

Что такое тензор?

 


5

3

Читал-читал... Тензор - он всё. Базовый «пакет» данных, к операциями над которым сводятся любые востребованные в области ML вычисления?

Вектор, матрица и даже скаляр - частные случаи тензора.

А можно как-то более простыми словами для дегенератов объяснить, что это такое и в чём абстрактная красота и универсальность понятия?

Недаром ведь «поток тензоров» - TensorFlow...

Где ты вообще вычитал это слово в контексте Си++?

MimisGotAPlan ()

В качестве введения прочитай вот это (хотя бы самое начало):

Коренев Г.В. Тензорное исчисление

Многие вопросы после этого отпадут.

anonymous ()

ftfsite.ru/wp-content/files/tensor_dla_chainikov_2.1.pdf

registrant ★★★★★ ()

Упорядоченное в виде строки, матрицы, параллелепипеда множество каких-н. математических элементов.

Deathstalker ★★★★★ ()

Ты пытаешься с разбега въехать в не такие уж простые материи.

Надо постепенно.

Вот есть функция на векторном пространстве - это понятно что такое? Кладем в неё вектор, на выходе число.

Далее есть функция от пары векторов. Тоже вроде понятно: на вход два вектора, на выход число.

Дальше хитрее: вот есть функцию от функции. На вход функция, на выход число. Ну неприятно, но жить можно.

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

Ну и как наиграешься - тут совсем просто:

берем функцию четырех параметров: первые два параметра - векторы, вторые два параметра - функции. А на выходе опять число. Вот и получается тензор ранга (2,2).

Разумеется всё везде линейно и это сильно упрощает жизнь, но заодно и запутывает читателя.

alpha ★★★★★ ()

И не имеют твои вопросы отношения ни к c++ ни к development

Теги надо другие ставить, да и раздел тоже мимо.

alpha ★★★★★ ()
Ответ на: комментарий от alpha

Дальше хитрее: вот есть функцию от функции. На вход функция, на выход число.

Ну и вот тут вот скрыто всё самое интересное на самом деле, сопряженность, дуальность и т.п.

А всё от того что

Любой вектор является функцией на пространстве функций на своём векторном пространстве, причем линейной.

alpha ★★★★★ ()

Поддерживаю анонима. Книга Коренева для новичка-нематематика лучшее введение.

Stalin ★★★★★ ()

Тензор это n-мерная матрица.

0-мерная матрица - число

1-мерная матрица - вектор

2-мерная - классическая матрица

3-мерная - пачка классических матриц одинакового размера

4-мерная - пачка 3-мерных матриц

n-мерная - пачка (n-1)-мерных матриц

Norgat ★★★★★ ()
Последнее исправление: Norgat (всего исправлений: 1)

Тензор это линейное отображение между другими тензорами.

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

lovesan ★★ ()
Ответ на: комментарий от Norgat

4-мерная - пачка 3-мерных матриц

О, спасибо, прямо глаза мне открыло. Раньше у меня сегфолт случался как пытался представить ортогональную 4-мерную матрицу. А при слове «пачка» сразу другое восприятие (в воображение нечто похожее на дерево с 3-мерными матрицами/кубами)

KennyMinigun ★★★★★ ()
Ответ на: комментарий от lovesan

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

Не знаю на сколько типов люди делятся, но здесь мы с тобой в разных группах (другими словами: ппц ничего не понял).

KennyMinigun ★★★★★ ()
Ответ на: комментарий от KennyMinigun

только это неточная картинка

у тензора две размерности: векторная и ковекторная

И тензор размерности (1,3) существенно отличается от тензора размерности (2,2). Хотя и то, и то в принципе «4-мерно».

alpha ★★★★★ ()

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

anonymous ()

тут неплохо разжевано.

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

к тензорам TensorFlow не имеет никакого отношения.

drsm ()
Ответ на: комментарий от Norgat

Да не надо такого писать, пожалуйста.

Это неправильно.

Octagon ()
Ответ на: комментарий от lovesan

А можно пояснить про то, что отображение - более широкое понятие, чем функция?

Я всегда думал, что функция и отображение одно и то же: то что функция возвращает и есть то, на что отображен её аргумент. Куда ещё шире?

hlamotron ()
Ответ на: комментарий от alpha

Спасибо, я всегда ценю ваши комментарии. Тег у меня для привлечения внимания. C++ и матан — вещи одного ранга «ужоснаха», поэтому это классово близкий тег)

hlamotron ()
Ответ на: комментарий от hlamotron

Ну там, отображение может быть биекцией. А так не забивай голову, считай что одно и то же, обычно как синонимы используют.

lovesan ★★ ()
Ответ на: комментарий от hlamotron

есть отображение и функциональное отображение в котором более строгая иньекция ты же скорее всего подразумеваешь изоморфизм или биекцию.

robotron5 ()
Ответ на: комментарий от hlamotron

Это одно и то же, но используется в немного разном контексте.

Отображение - оно чуть более абстрактное и всегда при множествах - отображение одного множества в/на другое. И второе множество имеет какой-то свой смысл. При этом «отображение в точке» не говорят.

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

alpha ★★★★★ ()
Ответ на: комментарий от hlamotron

А можно пояснить про то, что отображение - более широкое понятие, чем функция?

В математике каждый местечковый царек задает свои понятия. И каждый математик выбирает себе авторите по нраву и принимает только его понятия.

У программистов же есть стандарты. Программисты для разрешения спора смотрят в стандарт и выясняют, кто прав.

Математики же зовут модератора и трут неугодные сообщния. Средневековье одним словом.

anonymous ()
Ответ на: комментарий от hlamotron

C++ и матан — вещи одного ранга «ужоснаха»

У C++ есть стандарт, есть компиляторы, тут же можно посмотреть определние любого метода. Это полностью формальный язык.

В математике ничего подобного никогда не было. Сплошное словоблудие с вкраплениями неформальных терминов и с потолка взятых символов.

anonymous ()
Ответ на: комментарий от Dron

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

Но создали подобные языки только программисты. Теперь когда спорят программисты, мы повсюду видим вставки красивого и стройного кода.

Математики же так со своим словоблудием и остались.

anonymous ()
Ответ на: комментарий от anonymous

Найс подрыв математического дислектика, бгг. У тебя просто манипуляция фактами. Когда не было компов, программы твои точно так же могли называть словоблудием.

anonymous ()
Ответ на: комментарий от anonymous

Те это просто прогресс, одно превратилось во второе.

anonymous ()
Ответ на: комментарий от anonymous

Вот не надо тут. У ТС почти всё в его последних тредах - вопросы о математическом аппарате созданном физиками или математиками для нужд физики. А у физиков ещё со времён когда программистов не было решение споров строгое - предсказывает теория результат эксперимента или нет. А отсюда и векторы, и тензоры, и теория групп.

ados ★★★★★ ()
Ответ на: комментарий от ados

Вот не надо тут. У ТС почти всё в его последних тредах - вопросы о математическом аппарате созданном физиками или математиками для нужд физики.

Этот «аппарат» - обычные рабочие записи на салфетках, условные обозначения, которые математики спионерили у физиков.

Физики ставят реальные эксперименты и оперируют реальными данными.

Математика же основана на примитивном платонизме. Есть некий идеальный мир, в котором есть идеальные объекты. Эти объекты объединяются во множества и действует некая тупенькая логика.

Попробуй с этой херней сунутся к физикам - сразу получишь с вертушки в щи.

Ну а у программистов это ничего кроме усмешки вообще не вызывает.

anonymous ()
Ответ на: комментарий от ados

Чувак спрашивает про TensorFlow, как я понимаю. Для начала моего объяснения вполне достаточно. Давать заумные объяснения из книжек по матану человеку, который не может прочитать что такое тензор тут: https://www.tensorflow.org/get_started/get_started - бессмысленно и даже вредно для его обучения.

Octagon - к тебе это тоже относится.

Не дурите, человеку нужно не заумное объяснение, а пример на пальцах, чтобы начать(!) что-то понимать в принципе. Для начала работы с ML фреймворками моего объяснения более чем достаточно на первое время. А сидеть и зубрить «матан», чтобы поработать с этими фреймворками - пустая трата времени и, что хуже, энтузиазма.

Norgat ★★★★★ ()
Ответ на: комментарий от anonymous

Вот заходишь такой на ЛОР и задумываешься: «А нахрена вообще зашёл, читать понос обиженного на жизнь Антона?»

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

anonymous ()
Ответ на: комментарий от anonymous

s/Антона/анона/

Для создателей Т9 в аду предусмотрен специальный козёл(ц)

anonymous ()
Ответ на: комментарий от anonymous

Когда не было компов, программы твои точно так же могли называть словоблудием.

У программистов есть стандарты. Можно сверить программу со стандартом и определить, это точная запись или словоблудие, без всякого компа.

У математиков каждый местечковый царек выдумывает нотацию и свои символы. И нигде ты словоблудие это не проверишь.

anonymous ()
Ответ на: комментарий от anonymous

А нахрена вообще зашёл, читать понос обиженного на жизнь Антона?

Так это математики пришли на программисткий форум нас жизни учить.

У нас-то все в школоде. Запусти GTA и посмотри, что умеют программисты - математикам и не снилось. И зарплаты у нас соотвествующие.

anonymous ()
Ответ на: комментарий от Norgat

Пример на пальцах может быть простым и частным, но не должен быть неверным.

То есть, например, можно ограничиться рангами (0,1), (1,0), (2,0), (1,1) и (0,2). Всё что дальше и выше применяется гораздо реже, а эти пять уже охватывают основные проблемы и различия.

Но «упрощая» тензор до многомерного массива ты саму суть понятия теряешь.

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

Только это тоже хитрость. Опять же тензоры ранга (0,2), (1,1), (2,0) - это всё матрицы, только _разные_.

alpha ★★★★★ ()
Последнее исправление: alpha (всего исправлений: 1)

Тензор - он всё.

Ага. Тензор — это математическое представление объекта существующего в пространстве, в виде таблицы величин — компонент тензора.

Значения компонент зависят от принятой системы координат, но преобразование компонент таково, что оставляет неизменным некоторые величины — инварианты.

Используя свойство инвариантности, можно построить величины, которые можно связать с собственными характеристиками физических объектов.

Пример тензорного анализа: жевание жевательной резинки изменяет её геометрические характеристики, но оставляет неизменными физические инварианты: тензоры напряжений и деформаций — вязкость, упругость, сдвиг, изгиб, ... вкусность :)

quickquest ★★★★★ ()
Ответ на: комментарий от Norgat

https://www.tensorflow.org/get_started/get_started

И тут я наконец сходила по ссылке. И оказалось что ты прав.

Но вот за такое использование математических терминов хочется убивать.

Какой это может быть тензор, когда это дерево, где rank - высота, а shape - количество потомков у узла на каждом уровне.

Прямо так и вижу этого «придумщика»:

надо назвать как-то объект который сложнее чем вектор. А, помнится было что-то такое в книжке, которую я не осилил, сложно и тоже много цифр, назову «тензор».

alpha ★★★★★ ()
Последнее исправление: alpha (всего исправлений: 1)
Ответ на: комментарий от quickquest

Не так.

Основное свойство абстрактного тензора - его линейность.

Инвариантность - это уже про конкретные тензорные объекты (риманову кривизну например, и т.п.)

Эти объекты не потому инварианты, что они тензоры, а потому тензоры, что мы описываем весь физический мир и его инварианты с точностью до линейного приближения(в широком смысле).

alpha ★★★★★ ()

Компания «Тензор» - это крупный холдинг, занимающийся информационными технологиями

buddhist ★★★★★ ()
Ответ на: комментарий от alpha

И вообще упоминание о наличии внутренней структуры у алгебраического объекта в 2017 году — моветон :)

buddhist ★★★★★ ()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от anonymous

Причем это хорошо иллюстрируется данным тредом. Каждый математик что-то свое лепечет, и друг друга они понят не могут.

Программисты бы уже давно код повыкатывали.

anonymous ()

Тензор - полилинейная функция, заданная на элементах линейного пр-ва (векторах.

anonymous ()
Ответ на: комментарий от alpha

Эти объекты не потому инварианты, что они тензоры

Именно потому. Неинвариантный объект тензором не является, по определению.

anonymous ()
Ответ на: комментарий от alpha

Основное свойство абстрактного тензора - его линейность.

Да, для математиков, а физикам инвариантность нужнее :)

quickquest ★★★★★ ()
Ответ на: комментарий от alpha

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

Нет, не по-этому.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.