"Информатика (базовый уровень)", Гейн А.Г., Гейн А.А.
Лимитирующая функция преобразует любое число в значение заданного диапазона, обычно от 0 до 1. При отрицательном аргументе она возвращает 0, на промежутке от 0 до 1 совпадает с аргументом, а при больших значениях равна 1. Такое ограничение называют насыщением. Функция нужна, чтобы нормировать сигналы, не допускать чрезмерных результатов вычислений и задавать выход искусственного нейрона.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Лимитирующая функция — функция, которая преобразует любое входное значение в число из заданного ограниченного диапазона, обычно от 0 до 1. Она не позволяет результату стать меньше нижней или больше верхней границы. Поэтому её используют для ограничения и нормирования сигналов.
Зона насыщения — участок, на котором значение лимитирующей функции сохраняется постоянным, хотя аргумент продолжает изменяться. Нижняя зона даёт результат 0, верхняя — результат 1. Эти участки показывают, что дальнейшее усиление входа уже не влияет на выход.
Линейный участок — промежуток, на котором значение функции изменяется пропорционально аргументу. В рассматриваемом случае на нём f(x) = x, поэтому увеличение x на 0,2 увеличивает результат на 0,2. Этот участок обеспечивает плавный переход между двумя зонами насыщения.
Кусочно-заданная функция — функция, заданная разными формулами или условиями на разных промежутках. Чтобы вычислить её значение, сначала определяют, какому промежутку принадлежит аргумент. Затем применяют только соответствующее этому промежутку правило.
Обычная линейная зависимость может выдавать любые действительные числа, а для сигнала это не всегда удобно. Поэтому значения ниже нуля заменяют нулём, а значения выше единицы — единицей. Между этими границами исходное значение сохраняют, чтобы не потерять информацию о величине умеренного сигнала.
Из-за разных способов обработки аргумента функцию записывают несколькими правилами. Условия x ≤ 0, 0 < x < 1 и x ≥ 1 разделяют все возможные действительные числа на три непересекающиеся части. Проверив условие, можно однозначно выбрать формулу и избежать неправильной подстановки.
На первом участке функция равна 0, потому что все отрицательные и нулевые входы считаются недостаточными для положительного отклика. На втором она растёт линейно от значений, близких к 0, до значений, близких к 1. На третьем участке достигается верхняя граница, поэтому функция принимает 1 независимо от дальнейшего роста x.
Значения функции не выходят за пределы отрезка [0; 1], поскольку каждый участок либо сразу задаёт 0 или 1, либо использует аргумент, который сам лежит между ними. Такое свойство удобно при обработке сигналов: разные по масштабу величины можно привести к единому диапазону. Кроме того, ограниченный выход защищает последующие вычисления от слишком больших чисел.
Во входе искусственного нейрона обычно сначала вычисляют взвешенную сумму сигналов: каждый вход умножают на свой вес, а затем результаты складывают. Лимитирующая функция получает эту сумму как аргумент и ограничивает её результат. Так формируется управляемый выход нейрона, который можно передавать дальше по модели.
| Условие на аргумент | Значение функции | Характер изменения | Роль участка |
|---|---|---|---|
| x ≤ 0 | f(x) = 0 | Значение не изменяется | Нижняя зона насыщения |
| 0 < x < 1 | f(x) = x | Линейное возрастание | Переходная зона |
| x ≥ 1 | f(x) = 1 | Значение не изменяется | Верхняя зона насыщения |
| Область определения | Все действительные числа | Ограничений на вход нет | Функция принимает любое входное значение |
| Множество значений | [0; 1] | Выход ограничен | Результат пригоден для нормирования сигнала |
Для вычисления найдите строку с условием, которому удовлетворяет заданное x. Затем используйте формулу из второго столбца, не смешивая её с правилами соседних участков. Последние две строки помогают отличать область определения от множества значений функции.
Найти значения функции при x = −2, x = 0,4 и x = 3. Эти числа выбраны так, чтобы проверить нижнюю зону, линейный участок и верхнюю зону. Поэтому для каждого аргумента нужно отдельно определить условие.
Ответ: f(−2) = 0, f(0,4) = 0,4, f(3) = 1. Разные ответы получились потому, что аргументы попали на разные участки графика.
Нужно найти все x, при которых значение функции равно 0,7. Сначала проверим линейный участок, где функция может принимать промежуточные значения. Затем отдельно убедимся, что зоны насыщения не дают дополнительных решений.
Ответ: x = 0,7. Единственное решение находится на линейном участке, потому что только там функция принимает значения строго между 0 и 1.
Взвешенная сумма на входе нейрона равна 1,8. Требуется применить к ней лимитирующую функцию и найти выход. Сначала используем готовую сумму как аргумент функции, а затем сравним её с границами 0 и 1.
Ответ: выход искусственного нейрона равен 1. Саму взвешенную сумму не нужно пересчитывать, если она уже дана.
Ошибка: подставлять любое значение в формулу f(x) = x. Так делают, когда воспринимают функцию как обычную линейную и не проверяют условия. Проверка себя проста: сначала сравните x с 0 и 1, и только при 0 < x < 1 оставляйте аргумент без изменения.
Ошибка: неправильно распределять граничные значения 0 и 1 по промежуткам. Причина — невнимательное чтение знаков ≤ и ≥. Подставьте каждую границу в условие: x = 0 даёт f(x) = 0, а x = 1 даёт f(x) = 1.
Ошибка: считать область определения и область значений одним и тем же. Аргумент может быть любым действительным числом, но результат ограничен отрезком [0; 1]. Чтобы проверить себя, отдельно спросите, какие числа разрешено вводить и какие числа могут получиться на выходе.
Ошибка: продолжать увеличивать значение функции после x = 1. Такое ожидание возникает из-за привычки к линейному росту. Посмотрите на условие верхнего участка: при любом x ≥ 1 результат остаётся равным 1.
Для понимания темы нужны понятия функции, аргумента, области определения и области значений. Также следует уметь читать кусочно-заданные функции и выбирать формулу по условию. Эти знания позволяют вычислять результат без построения графика.
Лимитирующая функция связана со взвешенной суммой входных сигналов и устройством искусственного нейрона. Сначала нейрон объединяет входы с учётом весов, а затем ограничивает полученную сумму. Так математическая функция превращается в правило формирования сигнала.
На практике функцию применяют в моделях искусственных нейронных сетей, при нормировании данных и ограничении результатов вычислений. Она переводит неограниченный вход в единый диапазон. Это облегчает сравнение сигналов и делает работу модели устойчивее.
Почему лимитирующая функция не может принимать значения больше 1?
Верхняя граница 1 задана правилом функции: при x ≥ 1 она принимает постоянное значение 1. Поэтому дальнейшее увеличение аргумента уже не меняет результат.
Что делать, если аргумент равен ровно 0 или 1?
При x = 0 выбирают первое условие и получают f(x) = 0. При x = 1 выбирают третье условие и получают f(x) = 1.
Чем лимитирующая функция отличается от обычной линейной функции?
Линейная функция может принимать неограниченно большие и малые значения. Лимитирующая функция совпадает с линейной только на переходном участке, а за его пределами закрепляет результат на уровнях 0 и 1.
Почему её называют функцией насыщения?
После достижения нижней или верхней границы функция перестаёт изменяться при изменении аргумента. Говорят, что результат достиг насыщения.
Зачем лимитирующая функция нужна искусственному нейрону?
Она ограничивает взвешенную сумму входных сигналов и превращает её в удобный выходной сигнал от 0 до 1. Благодаря этому нейрон не выдаёт неограниченно большие значения.
§ 49. Лимитирующая функция