## 2 Multi-Attribute Recognition Using Exclusive and Correlated Relationships
### Multi-Task Learning for Mutually Correlated Attributes  
In order to consider mutual dependency between tasks in a multi-task learning process, we propose a novel definition of network output, which can represent joint probability of multiple random vectors. By calculating the joint probability among random variables, we can figure out the proportional or inverse relationship among variables. Let us take a simple example of dual task learning. When there are two tasks, \(\mathbf{T_{1}}\) and \(\mathbf{T_{2}}\), with exclusive attributes \(\left\{A_{11},\dots,A_{1M_{1}}\right\}\) and \(\left\{A_{21},\dots,A_{2M_{2}}\right\}\) respectively, in which the target value is given by two binary random vectors \(\mathbf{y}_{1}=\left[y_{11}\dots y_{1M_{1}}\right]\) and \(\mathbf{y}_{2}=\left[y_{21}\dots y_{2M_{2}}\right]\), we try to design an output layer for representing the joint probability of the random  
Figure 2: Extended output representation for two independent tasks \(\mathbf{T_{1}}\), \(\mathbf{T_{2}}\).  
vectors, \(\mathrm{P}(\mathbf{y_{1}},\mathbf{y_{2}})\). From the fact that \(\mathbf{y_{1}}\) and \(\mathbf{y_{2}}\) are binary vectors in which only one element can be 1 at one time, we can define a joint random vector \(\mathbf{z_{1,2}}\) that represents \(M_{1}\times M_{2}\) different combination of the values, and we can assign an output node to represent each possible combination. Thus, the proposed network has \(M_{1}\times M_{2}\) output nodes, and we denote the value of each output node as \(f_{m_{1}m_{2}}(\mathbf{x},\mathbf{\theta})(m_{1}=1,\ldots,M_{1},\;\;m_{2}=1,\ldots,M_{ 2})\). Accordingly, the target value \(z_{m_{1}m_{2}}\) is determined by the value of \(\mathbf{y_{1}}\) and \(\mathbf{y_{2}}\) such as  
\[z_{m_{1}m_{2}}=\left\{\begin{array}{rl}1&if\;\;y_{1m_{1}}=1,\;y_{2m_{2}}=1\\ &0\;\;\;otherwise\end{array}\right.. \tag{6}\]  
Note that \(\mathbf{z}\) is the \(M_{1}\times M_{2}\) dimensional random binary vector satisfying the condition: \(\sum_{j=1}^{M_{2}}\sum_{i=1}^{M_{1}}z_{ij}=1\). In order to train this target vector efficiently, the output values, \(f_{m_{1}m_{2}}(m_{1}=1\ldots M_{1},\;m_{2}=1\ldots M_{2})\) of the network need to be defined by using a softmax function such as  
\[f_{m_{1}m_{2}}(\mathbf{x_{n}})=\frac{e^{\mathbf{u}m_{1}m_{2}}}{\sum_{j=1}^{M_{2}}\sum_ {i=1}^{M_{1}}e^{\mathbf{u}_{ij}}}\;, \tag{7}\]  
where \(u_{m_{1}m_{2}}\) is the weighted sum of input injected to the corresponding output nodes. The cross-entropy error for the proposed joint representation is then defined as  
\[E_{JCE}(\mathbf{\theta})=\;-\sum_{n=1}^{N}\sum_{m_{2}=1}^{M_{2}}\sum_{m_{1}=1}^{M_ {1}}z_{m_{1}m_{2}}^{n}\ln f_{m_{1}m_{2}}(\mathbf{x_{n}},\mathbf{\theta})\;. \tag{8}\]  
This can be directly extended to the case for more than two tasks \(\{\mathbf{T_{1}},\ldots,\mathbf{T_{T}}\}\) so as to obtain  
\[E_{JCE}(\mathbf{\theta})=\;-\sum_{n=1}^{N}\left\{\sum_{m_{T}=1}^{M_{T}}\ldots\sum _{m_{1}=1}^{M_{1}}z_{m_{1}m_{2}\ldots m_{T}}^{n}\ln f_{m_{1}m_{2}\ldots m_{T}} (\mathbf{x_{n}},\mathbf{\theta})\right\}, \tag{9}\]  
where the random vector \(\mathbf{z}\) with \(M_{1}\times\ldots\times M_{T}\) elements is defined as  
\[z_{m_{1}m_{2}\ldots m_{T}}=\left\{\begin{array}{rl}1&if\;\;y_{im_{i}}=1\; \text{for all}\;i=1\ldots T\\ &0\;\;\;\;\;\;\;\;