An input usually refers to an example (sometimes also known as sample, observation or data point) $x$ from a dataset that you pass to the model. For example, in supervised learning, you have a labelled dataset $D = \{(x_i, y_i)\}_{i=1}^N$, where $x_i$ is the $i$th input and $y_i$ the corresponding label (aka target or output).
This is similar to the terminology used for functions. For example, if you have the function $f: \mathcal{X} \rightarrow \mathcal{Y}$, then $x \in \mathcal{X}$ is the input and $f(x) = y \in \mathcal{Y}$ is the output of the function for that input $x$. In fact, models (like neural networks or linear regression models) are functions.
Examples
- In image classification, an image iscan be an input
- In machine translation, an input can be a sentence or a word (depending on the model)
- In reinforcement learning, an input couldcan be a state
A feature is an attribute associated with an input or sample. For example, a feature of an image could be a pixel. The feature of a state could be the Euclidean distance to the goal state. An input can be composed of multiple features.
It's possible that people also refer to features as inputs (in fact, if you pass e.g. an image to a model, you're also passing the pixels, the features, which are thus also inputs to the model). There are also other terms used to refer to these. For example, in statistics, people may refer to features as independent variables (or regressors), and maybe a sample refers to a dataset rather than a single observation. So, you should always take into account the context when reading these terms.
For more info, you could read this and this Wikipedia articles.