Рубрики
Без рубрики

Тензуры: Скаляры, векторы или матрицы?

Исследуя основы машинного обучения и искусственного интеллекта

Автор оригинала: Victor Ayi.

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

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

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

Шаг 1

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

Конечно, да! Все может быть выражено в количестве. Но как? Предположим, мы хотим классифицировать 4 типа носов:

  • Мясистый нос
  • Неровный нос
  • Нос плюб
  • Нос ястреба

Мясистый нос, являющийся первым типом, может быть представлен 1 , Ухабистый нос 2 , Плюб нос 3 , Ястреб нос 4 Отказ После этого, если меня отправили номер 1 И сказал, что это был тип носа, я бы автоматически узнал, что он имел в виду мясистый нос.

Почему мы должны представлять вещи в цифрах в любом случае?

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

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

Вернуться к примеру носов, 1 стоит за мясистый нос. Таким образом, 1 это тензор, представляющий тип носа. Кроме того, 1 Это тип тензора под названием Scalar, потому что он имеет только одно измерение – это всего лишь один номер. Шаг два разговора о другом типе тензора, который может иметь больше измерений.

Шаг 2

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

Давайте возьмем цену мороженого. Предположим, что это 5,00 долларов. Вы можете подумать, что он имеет только одно измерение, но имеет несколько измерений:

  • знак валюты ($)
  • Первая группа цифр до точки (5)
  • точка (она могла бы быть запятой в другом языке)
  • группа чисел после точки

Мы можем переписать цену в группе чисел.

  • Давайте назначить номер к валюте. Есть около 180 валют в мире, и мы можем решить назначить 1 как валюта доллара США. Впоследствии, в любое время мы видим 1 Представляя валюту, это доллар США.
  • Мы можем решить оставить группу номеров до точки или запятой, так как они уже есть
  • Мы можем предположить, что позиция точки может быть занята только двумя символами (технически, десятичными сепараторами): точка и запятая. Таким образом, точка становится 1 и запятая 2 Отказ
  • Мы оставим числа после точки, как это
  • Наконец, давайте использовать формат, (Валюта, цифры перед точкой/запятой, точкой/запятой, цифры после точек/запятой) Переписать цену мороженого, в четырех измерений, как это:
price_of_ice_cream = (1, 5, 1, 0)

В локали, вроде Канады (французский), где запятая используется в качестве десятичного разделителя, если мороженое стоит 5 долларов, это может быть написано как 5,00 долларов. Давайте присваим 2 в канадский доллар. Цена может быть написана как:

price_of_ice_cream = (2, 5, 2, 0)

Первый 2 для канадского доллара, второе значение 5 Для первой части ценовой стоимости третье значение 2 Для запятой (десятичный сепаратор) и 0 за последнюю часть ценовой стоимости.

То, что мы только что сделали, было представлять цену мороженого в качестве тензора. На этот раз это вектор, а не скалярный, и это четырехмерный вектор, потому что он использует четыре числа (размеры). В зависимости от того, что мы хотим сделать, это может стать двумерным вектором (X, Y), трехмерными (x, y, z) или даже семьмерными (x, y, z, a, b, c, d) Если мы почерревали больше измерений из цены.

Шаг 3

Цените, что объект или событие могут иметь несколько пунктов интересов, которые сами имеют несколько измерений.

При описании мороженого, прочих интересных объектов может включать в себя:

  • цена
  • режиссер
  • вкус

Давайте предположим следующее для одного мороженого (мороженое):

  • Цена $ 5,00
  • Производитель – это плавное мороженое, с идентификатором производителя 0052
  • Вкус клубника – клубничный аромат имеет код 2153

Давайте предположим, что это для другого мороженого (мороженое B):

  • Цена $ 5,00
  • Производитель носит мороженое, с ID продюсера 1045
  • Вкус клубника, поддерживая код 2153

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

Мороженое Описание в векторах:

# price is given in step 2 above
price_of_ice_cream_A = (1, 5, 1, 0)
producer_of_ice_cream_A = (0, 0, 5, 2)
flavor_of_ice_cream_A = (2, 1, 5, 3)

Мороженое B Описание в векторах

# price is given in step 2 above
price_of_ice_cream_A = (2, 5, 2, 0)
producer_of_ice_cream_A = (1, 0, 4, 5)
flavor_of_ice_cream_A = (2, 1, 5, 3)

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

Мы могли бы оказаться с этим:

ice_cream_A = [(1, 5, 1, 0), (0, 0, 5, 2), (2, 1, 5, 3)]
ice_cream_B = [(2, 5, 2, 0), (1, 0, 4, 5), (2, 1, 5, 3)]

И мы можем переписать это более красиво:

ice_cream_A = [(1, 5, 1, 0), 
               (0, 0, 5, 2), 
               (2, 1, 5, 3)]
               
ice_cream_B = [(2, 5, 2, 0),
               (1, 0, 4, 5),
               (2, 1, 5, 3)]
               

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

Мы можем удалить кронштейны и запятые, чтобы уточнить матрицы:

ice_cream_A = [ 1 5 1 0 
                0 0 5 2 
                2 1 5 3 ]
               
ice_cream_B = [ 2 5 2 0
                1 0 4 5
                2 1 5 3 ]
               

Там мы идем! Тенсисты могут быть матрицами, образованными из нескольких векторов. Если это поможет, вы можете посмотреть на матрицы, такие как таблицы информации.

Шаг 4.

Цените это часто мы хотим нести информацию о более чем одной вещи вокруг.

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

Давайте проиллюстрируем, используя два ценах на мороженое на шаге 2:

У нас может быть матрица под названием ride_of_ice_creams, и она будет иметь два цена 5,00 долларов США, может $ 5,00, как показано ниже:

prices_of_ice_creams = [(1, 5, 1, 0), 
                        (2, 5, 2, 0)]
                        

Давайте убрать это:

prices_of_ice_creams = [ 1 5 1 0 
                         2 5 2 0 ]
                        

И у нас есть еще одна матрица с 2 векторами (строками), имеющими четыре размера (столбцы). Это тензор, матрица 2 х 4, так как у него есть 2 строки и 4 столбца.

Шаг 5.

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

  • Тензоры представляют вещи или предметы математически
  • Если число, представляющее объект один, другими словами, он имеет одно измерение, его называется скаляр Отказ Например:

  • Если конкретное представление имеет более одного измерения, этот тензор называется вектор. Например:
  • Когда тензор имеет информацию о нескольких вещах, таких как цены на несколько мороженых, он называется матрицей. Матрица можно рассматривать как таблицу, с каждой строкой, несущей информацию о конкретном элементе. Например:
    Здесь каждая строка содержит информацию о цене одного мороженого.
  • Тензуры могут быть скалярные, векторы, матрицы или их комбинация.
  • Вы можете посмотреть на векторы как группу скаляров.
  • Вы можете посмотреть на матрицы как группу векторов.
  • Вектор – это последовательность чисел; Массив, список или кортеж и т. Д., В зависимости от используемого языка программирования. Количество размеров вектора относится к количеству элементов в нем. [1, 2, 3] это 3-мерный вектор, а [2, 3, 4, 5, 6] это 5-мерное вектор.
  • Матрица похожа на стол и может иметь строки и колонны.
  • Матрица может быть описана количеством рядов и столбцов. Следующее имеет 2 ряды и 2 Колонны и называются матрицей 2×2. Первый ряд – 1, 5 а второй ряд – 2, 3 Отказ Первый столбец, от до вниз, имеет 1, 2 И второй столбец имеет 5, 3 Отказ
a_matrix = [ 1 5
             2 3 ]

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

Счастливое программирование AI!