text:
\section{Introduction}
\label{intro}
Recently, deep neural networks have shown great results in solving problems in the field of computer vision. This leads to a surge in the usage of deep neural networks in real life applications, which makes it very important to understand the working of deep neural networks. Some machine learning models are readily interpretable, that is, by looking at the parameters and structure of the model, we can understand the prediction for a given input. For instance, in the case of the univariate decision tree, the prediction for a given input can be written as a sequence of single-feature tests. Another example is the nearest-neighbor classifier, where the model is the training data, and the prediction is given by the most similar training data to the input. However, this is not the case with deep neural networks, where the parameters of the model are interleaved in a very complex way. It is very difficult to make the prediction just by looking at the parameters of the model. In this paper, we propose a general approach to interpret deep neural networks and other complex machine learning models. We achieve this by characterizing the region of input space that excites a given neuron to a certain level; we call this the \emph{inverse set}. That is, rather than looking at the model directly, we propose to treat the model as a black box and characterize its observed behavior on data.

In biology, one puts an electrode into the neuron (Electrophysiology) and records its response while a number of stimuli are fed to it. This is the classic Hubel and Wiesel experiment. We can replicate the same experiment by passing the training data to the network and record its activation for the neuron of interest. However, there are issues with it, as there is no guarantee that we know the data on which network is trained. Even if we know the training data, this approach will never characterize the input space accurately, because the training data is limited. This leads to incomplete information about the nature of neuron. Besides, real-life images contain a lot of irrelevant data, so there is no way to tell which part of the image is important to the neuron. Therefore, we will characterize our input space with synthetic inputs.

\begin{figure*}[t!]
  \centering
  \begin{tabular}{@{}l@{}l@{}}
    \rotatebox{90}{\hspace{.3ex}{act:[50,60]}}&
    \includegraphics*[width=.98\linewidth]{r_0_10_60_fc8_981.pdf}\\\\
    \rotatebox{90}{\hspace{.3ex}{act:[40,50]}}&
    \includegraphics*[width=.98\linewidth]{r_0_10_50_fc8_981.pdf}\\\\
    \rotatebox{90}{\hspace{.3ex}{act:[30,40]}}&
    \includegraphics*[width=.98\linewidth]{r_0_10_40_fc8_981.pdf}\\\\
    \rotatebox{90}{\hspace{.3ex}{act:[20,30]}}&
    \includegraphics*[width=.98\linewidth]{r_0_10_30_fc8_981.pdf}\\\\
    \rotatebox{90}{\hspace{.3ex}{act:[10,20]}}&
    \includegraphics*[width=.98\linewidth]{r_0_10_20_fc8_981.pdf}\\\\
    \rotatebox{90}{\hspace{.8ex}{act:[1,11]}}&
    \includegraphics*[width=0.98\linewidth]{r_0_10_11_fc8_981.pdf}
  \end{tabular}
  \caption{Samples generated using our sampling approach for the neuron number $981$ in the fc8 layer of the CaffeNet \citep{Jia_14a}, which represents volcano class. Each row contains $10$ samples picked from $500$ samples generated with activation range mentioned on the left side. Generated samples are not just photo-realistic but also very diverse in nature, characterizing input space around certain activation very well. Unlike previous approaches~\citep{Nguyen_16b,Nguyen_17a}; generated samples not just only contains volcanoes but they also contain lava flowing through water and on land, and the ash cloud after the volcanic eruption. These kind of samples never been seen before. The first row that contains samples of high activation and the last row which have samples with low activation, both have volcanoes but the presence of lava and smoke create a huge difference in activation value of the neuron. Giving us a clear understanding how the amount of the lava and smoke impact the activation of the neuron, higher the amount of lava and smoke more the activation.}
  \label{f:fc8_1_1_981_sample}
\end{figure*}

\section{Related work}
\label{related_work}
In a broader sense, we can divide the deep net interpretability research into two categories: 1) produce an explanation in the input space that explains network prediction for a given input, and 2) understand what information is retained by the network.

In the first category, we want to understand the network decision specific to a given instance; it is called \emph{local explanation }~\citep{Guidot_18a}. Methods like \citet{ribeir_16a} and \citet{Guidot_19a} approximate the deep net locally with a much similar model like decision trees, or linear model; and using these approximate models, they provide an explanation in terms of input segments (like superpixels in case of images). Other works \citep{Simony_14a,ZeilerFergus14a,Zhou_16c,Selvar_17a,FongVedald17a} create a saliency maps to explain the network decision. Another line of work finds the training data points that influence the network decision for a given input \citep{KohLiang17a,Yeh_18a}.

Our work belongs to the second category, where we want to understand what information is retained by the network. This provides a global explanation, i.e. the explanations are independent of the given input. Here, we focus only on the image data, but our work can easily be extanded to other data types.

In the last few years, significant effort has been made to understand what parameters of deep neural networks have learned. Currently available techniques that are used to understand the parameters of a trained deep neural network involve two major approaches: feature inversion and activation maximization. Feature inversion attempts to project the output of a layer to the input space, to understand what each layer of the network has learned. This is done by back propagation, gradient descent or training a neural network \citep{MahendVedald15a,Wei_15a,ZeilerFergus14a,DosovitBrox16a}.
\citet{Zhiqiang_16a} used feature inversion to visualize what every filter has learned.

On the other hand, activation maximization involves maximizing the response of a neuron in deep neural network for an input image, as done by \citet{Erhan_09b,Simony_14a,Yosinski_15a,Nguyen_16a, Nguyen_16b}, and many more. Activation maximization is done by taking a random image and then back propagating it through the network to maximize the activation of the neuron of interest.

Both feature inversion and activation maximization suffer from a major problem: the result is a very noisy image or fooling image \citep{Nguyen_15a,Szeged_14a}, which mostly does not make sense to humans. So, to tackle this problem many handcrafted regularizers are used like $\alpha$-norm \citep{Simony_14a}, Gaussian blur \citep{Yosinski_15a}, total variation \citep{MahendVedald15a},
jitter \citep{Mordvintsev_15a}, data-driven patch priors \citep{Wei_15a}, and center-biased regularization \citep{Nguyen_16b}, but there are more. All these methods have helped to improve the quality of the generated images, but still not enough to create natural-looking images. Recently, \citet{DosovitBrox16b} trained a neural network using GAN \citep{Goodfel_14a} to generate realistic images from a feature vector, which is later used by \citet{Nguyen_16a} to generate realistic images for activation maximization.

Although these approaches are really good, they do not consider the fact that there are multiple images which can maximally activate the same neuron. \citet{Nguyen_16b} tried to address this problem by initializing the input image with the mean of a cluster of training images, for activation maximization. Then the authors repeated this process to generate different images using activation maximization. They called it \emph{multifaceted feature visualization}. However, the generated images are noisy and not much diverse. Later, \citet{Nguyen_17a} used their plug and play model to generate comparatively diverse and more realistic images using Markov chain Monte Carlo based sampling approach.

Activation maximization is a good way to visualize the neuron of interest, but it does not consider the fact that real life images do not usually have high activations \citep{Nguyen_16a}. So, producing images which have very high activation value does not solve the problem entirely to understand what real life images are preferred by a neuron.

So, to better understand the nature of a neuron in a deep neural network, we need an approach that can generate multiple natural looking images, and those images excite a given neuron in a certain activation range. To our best knowledge, this problem hasn't been addressed yet. Although authors in \citet{Nguyen_17a} generate more diverse samples for a single neuron compared to all the previous work, they do not address the issue mentioned above. There is no control over the activation value of the generated samples. Besides their Markov chain Monte Carlo based sampling approach is very slow.

In the next section, we describe our approach to address the issue mentioned above.

\section{The inverse set of a neuron, and how to sample it}
\label{s:inverse-set}
\subsection{The inverse set of a neuron: definition}
We say an input \ensuremath{\mathbf{x}}\ is in the inverse set of a given neuron having a real-valued activation function $f$ if it satisfies the following two properties:
\begin{align}
  \label{e:feasiblity_equation}
  z_1\leq f(\ensuremath{\mathbf{x}}) \leq z_2 \quad \text{ and } \quad
  \ensuremath{\mathbf{x}}\text{ is a valid input}
\end{align}
where $z_1$, $z_2 \in \ensuremath{\mathbb{R}}$ are activation values of the neuron. \ensuremath{\mathbf{x}}\ being a valid input means the image features are in the valid range (say, pixel values in [0,1]) and it is a natural looking image.

For a simple model, the inverse set can be calculated analytically. For example, consider a linear model with logistic activation function $\sigma(\ensuremath{\mathbf{w}}^T\ensuremath{\mathbf{x}}+c)$ and all valid inputs to have pixel values between [0,1]. For $z_2=1$ (maximum activation value) and $0 < z_1 < z_2$, the inverse set will be the intersection of the half space $\ensuremath{\mathbf{w}}^T\ensuremath{\mathbf{x}}+c \geq \sigma^{-1}(z_1)$  and the [0,1] hypercube.

One way to look at this inverse set is as feasibility problem which has general form as:
\begin{align}
  \centering
  &\argmin_{\ensuremath{\mathbf{x}}} \hspace{1ex}  1 \hspace{3ex}\text{such that: set of constraints(\ensuremath{\mathbf{x}})}  \quad
  \Leftrightarrow \quad \ensuremath{\mathbf{X}} = \{\ensuremath{\mathbf{x}}: \text{set of constraints(\ensuremath{\mathbf{x}})} \}.
  \label{e:feasiblity_set}
\end{align}
In the case of deep neural networks, these constraints are nonlinear. So, we approximate the $\ensuremath{\mathbf{X}}$ with a sample $S$ that covers it in a representative way. The difficult part is to find an efficient algorithm to construct $S$.

A simple way to do this is to select all the images in the training set that satisfy eq.~\eqref{e:feasiblity_equation}, but this may rule out all images. A neuron may ``like'' certain aspects of a training image without being sufficiently activated by it, or, in other words, the images that activate a given neuron need not look like any specific training image. Therefore, we need an efficient algorithm to sample the inverse set.

\subsection{Sampling the inverse set of a neuron: an optimization approach}
To generate the maximum activation image, the problem can be mathematically formulated as:

\begin{equation}
  \centering
  \argmax_{\ensuremath{\mathbf{x}}}  f(\ensuremath{\mathbf{x}})+\ensuremath{\mathcal{R}}(\ensuremath{\mathbf{x}})
  \label{e:maxactivation }
\end{equation}
where real-valued function $f$ gives the activation value of the given neuron for an input image $\ensuremath{\mathbf{x}}$.  $\ensuremath{\mathcal{R}}$ is a regularizer which makes sure that the generated image $\ensuremath{\mathbf{x}}$ looks like a real image. This is the same objective function used in \citet{Simony_14a}, \citet{Yosinski_15a}, \citet{Nguyen_16b}, and others, where,  $\ensuremath{\mathcal{R}}$ is replaced by their hand-crafted regularizers. As mentioned in \citet{Nguyen_16b}, it mostly produces the same images for a given neuron. However, to construct the sample $S = \{\ensuremath{\mathbf{x}}_1,\cdots, \ensuremath{\mathbf{x}}_n  \}$ that covers the inverse set, generated images should be different from each other. So, we propose the following formulation to construct $S$ of size $n$ as a constraint optimization problem:

\begin{align}
  \centering
  \argmax_{\ensuremath{\mathbf{x}}_1,\ensuremath{\mathbf{x}}_2,\cdots, \ensuremath{\mathbf{x}}_n } \sum^n_{i,j=1}\norm{\ensuremath{\mathbf{x}}_i-\ensuremath{\mathbf{x}}_j}^2_2 \qquad
  \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{x}}_1),\dots,f(\ensuremath{\mathbf{x}}_n)\le z_2.
  \label{e:samping_with_images}
\end{align}
The objective function makes sure that the samples are different from each other and also satisfy eq.~\eqref{e:feasiblity_equation}. However, this generates noisy-looking samples. To make them realistic we use an image generator network \ensuremath{\mathbf{G}}, which has been empirically shown to produce realistic images \citep{DosovitBrox16b} when a feature vector $\c$ is passed as an input. Then we get:
\begin{equation}
  \argmax_{\c_1,\c_2,\cdots, \c_n } \sum^n_{i,j=1}\norm{\ensuremath{\mathbf{G}}(\c_i)-\ensuremath{\mathbf{G}}(\c_j)}^2_2 \qquad
  \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_n))\le z_2.
  \label{e:samplingforAlex}
\end{equation}
We observe that using Euclidean distances directly on the generated images $\ensuremath{\mathbf{G}}(\c)$ is very sensitive to small changes in their pixels. Instead, we compute distances on a low-dimensional encoding $\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c))$ of the generated images, where \ensuremath{\mathbf{E}}\ is obtained from the first layers of a deep neural network trained for classification. Then we have our final formulation of the optimization problem over the $n$ samples $\ensuremath{\mathbf{G}}(\c_1),\dots,\ensuremath{\mathbf{G}}(\c_n)$:
\begin{equation}
\argmax_{\c_1,\c_2,\cdots, \c_n } \sum^n_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   \quad
\text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_n))\le z_2.
\label{e:samplingforAlex_code}
\end{equation}
Now to generate the samples, initialize $\c$ with random values and then optimize eq.~\eqref{e:samplingforAlex_code} using augmented Lagrangian~\citep{NocedalWright06a}.

In theory eq.~\eqref{e:samplingforAlex_code} is enough to generate the sample $S$. But in practice, as the $n$ gets larger which is required to correctly sample the inverse set, eq.~\eqref{e:samplingforAlex_code} pose two issues: First, because of the quadratic complexity of the objective function over the number of samples $n$, it is computationally expensive to generate many samples. Second, since it involves optimizing all codes together, for larger $n$ it is not possible to fit all in the GPU memory. In the next section, we describe a much faster and less computationally expensive approach to create the inverse set.

\subsection{Sampling in feasible region}
\label{s:incr_sam}
\label{s:incr_sam}
In this section, we solve the problem for sampling the set $S$ described in eq.~\eqref{e:samplingforAlex_code} with a faster approach. For this, we apply two approximations.

First, we solve the problem in an inexact but good enough way. The sum-of-all-pairs objective is not a strict necessity; it is really a mechanism to ensure the diversity of the samples and coverage of the inverse set. We observe that this is already achieved by stopping the optimization algorithm once the samples enter the feasible set, by which time they already are sufficiently separated.

Second, we create the samples incrementally, $K$ samples at a time (with $K \ll n$). For the first $K$ samples (which we call \emph{seeds} ($\ensuremath{\mathbf{C}}_0$)) we optimize eq.~\eqref{e:samplingforAlex_code}, initializing the code vectors \c\ with random values and stopping as soon as all $K$ samples are in the feasible region. These samples are then fixed. The next $K$ samples are generated by the following equation:

\begin{align}
  \argmax_{\c_1,\c_2,\cdots, \c_K } &\sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2  +
  \sum^K_{i=1}\sum^{|C_0|}_{y=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))}^2_2 &  \nonumber \\
  \text{s.t.}  &\qquad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_K))\le z_2 \quad
  \text{ and } \quad  \c_y\in \ensuremath{\mathbf{C}}_0.
  \label{e:feasible_region}
\end{align}
The first part of the equation ``$ \sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2$'' is similar to that of eq.~\eqref{e:samplingforAlex_code}, means samples should be apart from each other. On the other hand, the second part of the equation ``$ \sum^K_{i=1}\sum^{|C_0|}_{y=1}\|\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))$ $-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))\|^2_2 $'' makes sure that the generated samples should be far apart from the previous ones. The presence of constraints makes sure that generated samples stay in the feasible region.

Now to pick next $K$ samples, we initialize them to the previous $K$ samples ($\ensuremath{\mathbf{C}}_0$) and take a single gradient step in the augmented Lagrangian optimization of eq.~\eqref{e:feasible_region}. This gives $K$ new samples ($\ensuremath{\mathbf{G}}(\c_i)$) which we fix, and the process is repeated until we generate the desired $n$ samples.

Note that, here we are not trying to optimize anything. We are using eq.~\eqref{e:feasible_region} to take steps inside the feasible region. It is like taking a random walk, but here we are taking steps inside the feasible region in a way that the next step gives the samples which are different from each other as well as from the one we already have. Another good part of this approach is that unlike the previous sampling approaches eq.~\eqref{e:feasible_region}, this approach allows us to pick samples in parallel which further increase the speed of sampling
\footnote{ In most of our experiments $K =10 $ and $n=500$. It took almost $85$ gradient steps of eq.~\eqref{e:feasible_region} to generate the rest of  $490$ samples with $K=10$ seeds. These are just a few extra gradient steps than the minimum required $49$ gradient steps.}

\subsection{Optimization details}
\label{s:opt_details}

As described above creating the inverse set of a neuron takes place in two steps:
\begin{itemize}
  \item Finding seeds in the feasible region.
  \item Use these seeds to pick samples inside the feasible region.
\end{itemize}
For finding seeds we optimize eq:~\eqref{e:samplingforAlex_code}, that can be transformed into:
\begin{align}
  \argmax_{\c_1,\c_2,\cdots, \c_K } \sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   \quad \nonumber \\
  \text{s.t.} \quad  z_2-f(\ensuremath{\mathbf{G}}(\c_i)) \leq \epsilon \quad  \forall i \in \{1,\cdots,K\} \text{ and} \quad  \epsilon= z_2-z_1.
  \label{e:samplingforAlex_code_eps}
\end{align}
This is a constraint optimization problem with inequality constraints. We can solve it by introducing slack variables ($s$), and then using bound-constrained augmented Lagrangian. So,  eq:~\eqref{e:samplingforAlex_code_eps} will transform to:
\begin{align}
\ensuremath{\mathcal{L}}_{\text{seed}}(\ensuremath{\mathbf{C}};\sss,\ensuremath{\boldsymbol{\lambda}},\mu) =\argmin_{\ensuremath{\mathbf{C}} } -&\sum^K_{i,j=1} \norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2\nonumber \\
 -&\sum^K_{i=1}\lambda_i (\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i))-s_i)\nonumber\\
 + &\sum^K_{i=1} \frac{\mu}{2}(\epsilon_0 - z_2 + f(\ensuremath{\mathbf{G}}(\c_i))-s_i)^2  \nonumber \\
&\text{s.t.} \qquad s_i \geq 0 \quad \forall i \in \{1,\cdots,K\}.
\label{e:Aug_seeds}
\end{align}
Here, $\epsilon_0 = \frac{\epsilon}{2}$ , $\sss = \{s_1,s_2,\cdots,s_K\}$ and $\ensuremath{\mathbf{C}}= \{\c_1,\c_2,\cdots, \c_K\}$. The reason to make $\epsilon_0 = \frac{\epsilon}{2}$ is that once we have seeds($\ensuremath{\mathbf{C}}_0$), they should be in well inside the feasible region rather on the boundary. This helps generate samples to get started from the middle of the feasible region, which pushes them to both sides of the feasible region one towards the $z_2$ and other away from $z_2$.  It helps generated samples to cover the inverse set at much faster pace.

Now, to optimize eq:~\eqref{e:Aug_seeds}, initialize $\ensuremath{\mathbf{C}}$ by passing $K$ initial images $\ensuremath{\mathbf{X}}_0$ (we used random values) through the encoder($\ensuremath{\mathbf{E}}$) , $\ensuremath{\boldsymbol{\lambda}} \in \ensuremath{\mathbb{R}}^K$ with zero column vector of size $K$ and $\mu \in \ensuremath{\mathbb{R}}$ with small scalar value $\mu_0 > 0$.

Now apply ``coordinate descent'' first in $\sss$, then in $\ensuremath{\mathbf{C}}$:
\begin{itemize}
  \item \textbf{In} $\sss$:
    \begin{align*}
      &\argmin_{\sss} \ensuremath{\mathcal{L}}_\text{seed}(\ensuremath{\mathbf{C}};\sss,\ensuremath{\boldsymbol{\lambda}},\mu) \text{	s.t.} \quad s_i \geq 0 \quad \forall i \in K \\
      &\implies s^r_i = \text{max}(0,\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i))- \frac{1}{\mu_r}\lambda_i^r).
    \end{align*}
    Since $\ensuremath{\mathcal{L}}_\text{seed}$ is a convex, separable quadratic form on $\sss$.
  \item \textbf{In} $\ensuremath{\mathcal{L}}_\text{seed}$: substitute the value of $\sss$ in $\ensuremath{\mathcal{L}}_\text{seed}$ and then solve it approximately using gradient descent as unconstrained problem.
\end{itemize}
After each step of coordinate descent first update $\ensuremath{\boldsymbol{\lambda}}$ then $\mu$ as follows:
\begin{itemize}
  \item $\lambda^{r+1}_i \leftarrow \text{max}(\lambda^{r}_i - \mu^r(\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i)),0)$.
  \item  $\mu^{r+1} \leftarrow \alpha\mu^r$ where  $\alpha\in \ensuremath{\mathbb{R}}$ and $\alpha> 1$.
\end{itemize}
We stop the optimization process when all $\c$ reach to the feasible region, means
\begin{equation*}
  z_2- f(\ensuremath{\mathbf{G}}(\c_i))   \leq \epsilon \quad \forall i \in \{1,\cdots,K\}.
\end{equation*}
The codes $\ensuremath{\mathbf{C}}$ which we get after this optimization act as seeds($\ensuremath{\mathbf{C}}_0$) for doing sampling in the feasible region using eq:~\eqref{e:feasible_region}.

Let us say the value of augmented Lagrangian parameters at the end of optimization is $\ensuremath{\boldsymbol{\lambda}}^*$ and $\mu^*$.

In most of our experiments value of $\mu$ starts with $10$ and updated with a multiplication factor of $10$ that is  $\alpha = 10$. For each iteration of coordinate descent we run $100$ steps of gradient descent to approximately optimize $\ensuremath{\mathcal{L}}_\text{seed}$ with $K =10$. It takes around $4$ iterations of coordinate descent to find the seeds in the feasible region which takes approximately $4$ minutes on NVIDIA Quadro P5000-16GB GPU, that we used for all our experiments.

Now, to pick samples in the feasible region using seeds we use eq:~\eqref{e:feasible_region}, and that can be transformed into:
\begin{align}
  \argmax_{\c_1,\c_2,\cdots, \c_K } \sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   +  \sum^K_{i=1}\sum^{|C_0|}_{y=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))}^2_2   \nonumber \\
  \text{s.t.} \quad  z_2-f(\ensuremath{\mathbf{G}}(\c_i)) \leq \epsilon \quad  \forall i \in \{1,\cdots,K\} \text{ and} \quad  \epsilon= z_2-z_1.
  \label{e:feasible_region_eps}
\end{align}
As described above we need to take the gradient of eq.~\eqref{e:feasible_region_eps} with respect to $\ensuremath{\mathbf{C}} = \{\c_1,\c_2,\cdots, \c_K\}$ to generate rest of the samples. But eq.~\eqref{e:feasible_region_eps} contains inequality constraints so we transform it into bound-constrained augmented Lagrangian as we did for eq.~\eqref{e:samplingforAlex_code_eps}, but the augmented Lagrangian parameters $\ensuremath{\boldsymbol{\lambda}}$ and $\mu$ are initialized with $\ensuremath{\boldsymbol{\lambda}}^*$ and $\mu^*$ and never changed again throughout the sampling process.

\begin{align}
  \ensuremath{\mathcal{L}}_\text{sample}(\ensuremath{\mathbf{C}};\ensuremath{\mathbf{C}}_0,\sss,\ensuremath{\boldsymbol{\lambda}}^*,\mu^*) =\argmin_{\ensuremath{\mathbf{C}} }& -\sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   -  \sum^K_{i=1}\sum^{|C_0|}_{y=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))}^2_2    \nonumber \\
  &-\sum^K_{i=1}  \lambda_i^* (\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i))-s_i) + \sum^K_{i=1} \frac{\mu^*}{2}(\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i))-s_i)^2 \nonumber\\
  &\text{s.t. }\quad s_i \geq 0 \quad \forall i \in \{1,\cdots,K\}.
  \label{e:Aug_feasibleregion}
\end{align}

Now to do the sampling we apply following steps:
\begin{enumerate}
  \item Initialize $\ensuremath{\mathbf{C}}$ with $\ensuremath{\mathbf{C}}_0$.
  \item \label{step2}Update $\sss$ as follows:
    \begin{equation*}
      s^r_i \leftarrow \text{max}(0,\epsilon_0 -z_2+ f(\ensuremath{\mathbf{G}}(\c_i))- \frac{1}{\mu^*}\lambda_i^*).
    \end{equation*}
  \item \label{step3}Take \textbf{single} gradient step of $\ensuremath{\mathcal{L}}_\text{sample}$ with respect to $\ensuremath{\mathbf{C}}$ and update $\ensuremath{\mathbf{C}}$ to $\ensuremath{\mathbf{C}}^{\prime}$ as follows:
    \begin{equation*}
      \ensuremath{\mathbf{C}}^{\prime} \leftarrow \ensuremath{\mathbf{C}} - \beta \frac{\partial \ensuremath{\mathcal{L}}_\text{sample} }{\partial \ensuremath{\mathbf{C}}}
    \end{equation*}
    where $\beta \in \ensuremath{\mathbb{R}}$ is the step length.
  \item \label{step4} Replace $\ensuremath{\mathbf{C}}_0$ with  $\c^{\prime}_i$ which are in feasible region that is for which $z_2- f(\ensuremath{\mathbf{G}}(\c^{\prime}_i))   \leq \epsilon$. These $\ensuremath{\mathbf{G}}(\ensuremath{\mathbf{C}}_0)$ are the new samples.
  \item \label{step5}Assign $\ensuremath{\mathbf{C}}'$ to $\ensuremath{\mathbf{C}}$.
  \item Repeat step~\ref{step2},~\ref{step3},~\ref{step4} and~\ref{step5} until all $n$ desired are not generated.
\end{enumerate}

Step~\ref{step3}, not only helps the algorithm to move inside the feasible region but it also provides a direction where the generated samples are different from the one we already have. The presence of constraint terms in eq.~\eqref{e:Aug_feasibleregion} play a very important role in the sampling process. In absence of the constraint the eq.~\eqref{e:Aug_feasibleregion} will be as below:
\begin{align*}
  \ensuremath{\mathcal{L}}_\text{sample}(\ensuremath{\mathbf{C}};\ensuremath{\mathbf{C}}_0) =\argmin_{\ensuremath{\mathbf{C}} }& -\sum^K_{i,j=1} \norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2- \sum^K_{i=1}\sum^{|C_0|}_{y=1} \norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))}^2_2
\end{align*}
which simply means the new codes $\c_i$ should be far apart from each other as well as from the one we already have ($\ensuremath{\mathbf{C}}_0$). This leads the gradient (step~\ref{step3}) to move the new samples ($\ensuremath{\mathbf{G}}(\ensuremath{\mathbf{C}}^{\prime})$) outside the feasible region. After few iterations, all the generated samples ($\ensuremath{\mathbf{G}}(\ensuremath{\mathbf{C}}^{\prime})$) will be out of the feasible region and there is no way to bring them back to the feasible region, which makes it impossible to generate a large number of samples. Infact , the constraint terms act as a penalty in case any of the $\ensuremath{\mathbf{G}}(\c_i^{\prime})$ goes outside the feasible region which pushes it back to the feasible region in next gradient update steps (step~\ref{step3}).

\subsection{Intersection of inverse-sets}
Our method also allows us to visualize the intersection of multiple inverse sets. This can be achieved by modifying the constraints in eq.~\eqref{e:samplingforAlex_code} as:

\begin{align}
  \argmax_{\c_1,\c_2,\cdots, \c_n }  \sum^n_{i,j=1}  &\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))  -  \ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   \nonumber \\
  \text{s.t.} \quad z^{(1)}_1 \le f_1(\ensuremath{\mathbf{G}}(\c_1)),&  \dots,  f_1(\ensuremath{\mathbf{G}}(\c_n))\le z^{(1)}_2 , \nonumber \\
  \vdots   \nonumber  \\
  z^{(p)}_1 \le f_p(\ensuremath{\mathbf{G}}(\c_1)),&  \dots,  f_p(\ensuremath{\mathbf{G}}(\c_n))\le z^{(p)}_2
  \label{e:intrs_Alex_code}
\end{align}
and in ~\eqref{e:feasible_region} as follows:
\begin{align}
  \argmax_{\c_1,\c_2,\cdots, \c_K } \sum^K_{i,j=1} \norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   &+
  \sum^K_{i=1}\sum^{|C_0|}_{y=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_y))}^2_2   \nonumber \\
  \text{s.t.} \quad z^{(1)}_1 \le f_1(\ensuremath{\mathbf{G}}(\c_1)), \dots,&f_1(\ensuremath{\mathbf{G}}(\c_K))\le z^{(1)}_2, \nonumber \\
  \vdots  \nonumber  \\
  z^{(p)}_1 \le f_p(\ensuremath{\mathbf{G}}(\c_1)), \dots,&f_p(\ensuremath{\mathbf{G}}(\c_K))\le z^{(p)}_2  \text{and } \quad \c_y\in \ensuremath{\mathbf{C}}_0
  \label{e:intrs_feasiblity_region}
\end{align}
where, $f_1, \cdots , f_p$ are real valued activation functions for different neurons and $(z^{(1)}_1,z^{(1)}_2),\cdots , (z^{(p)}_1,z^{(p)}_2)$ are corresponding activation values.

Figure~\ref{f:662_862_50_mix_short} shows samples from the intersection of two different inverse sets, corresponding to neurons in the same layer. Equation~\eqref{e:intrs_feasiblity_region} can also be used to generate samples from inverse set intersection of neurons in different layers, as shown in fig.~\ref{f:1000_862_197_mix_short}. Generated samples have a face in the middle of the images. When these samples passed through the network, they excite both neurons in their corresponding activation range.

\section{Experiments}
\label{s:expts}

\begin{figure*}[t!]
  \centering
  \begin{tabular}{@{}c@{}c@{\hspace{1ex}}c@{}c@{}c@{}}
    \rotatebox{90}{\hspace{.1ex}{\#981}}&&
    \rotatebox{90}{\hspace{.1ex}{act:[50,60]}}&
    \rotatebox{90}{\hspace{3ex}{ours}}&
    \includegraphics*[width=.935\linewidth]{b_60_20_1_1_981_rad_10_explore.pdf}\\
    \rotatebox{90}{\hspace{3ex}{neuron}}&&&
    \rotatebox{90}{\hspace{3ex}{PPGN}}&
    \includegraphics*[width=.935\linewidth]{ppgn_fc8_1_1_981.pdf}\\\\
    \rotatebox{90}{\hspace{.1ex}{\#947}}&&
    \rotatebox{90}{\hspace{.1ex}{act:[50,60]}}&
    \rotatebox{90}{\hspace{3ex}{ours}}&
    \includegraphics*[width=.935\linewidth]{r_0_10_50_fc8_947.pdf}\\
    \rotatebox{90}{\hspace{3ex}{neuron}}&&&
    \rotatebox{90}{\hspace{3ex}{PPGN}}&
    \includegraphics*[width=.935\linewidth]{ppgn_fc8_1_1_947.pdf}\\\\
    \rotatebox{90}{\hspace{,1ex}{\#1000}}&&
    \rotatebox{90}{\hspace{.1ex}{act:[40,50]}}&
    \rotatebox{90}{\hspace{3ex}{ours}}&
    \includegraphics*[width=.935\linewidth]{r_0_10_50_fc8_1000.pdf}\\
    \rotatebox{90}{\hspace{3ex}{neuron}}&&&
    \rotatebox{90}{\hspace{3ex}{PPGN}}&
    \includegraphics*[width=.935\linewidth]{ppgn_fc8_1_1_1000.pdf}\\
  \end{tabular}
  \caption{The first, third and fifth row contains $10$ samples picked from $500$ samples generated by our sampling approach to cover the inverse set for the neuron number $981$ (represents volcano class), $947$ (represents cardoon class) and $1000$ (represents toilet paper class)  respectively. All three neurons are from layer fc8 of CaffeNet \citep{Jia_14a}. For the first row (volcano class) the activation range is [50,60], for the third (cardoon class) and the fifth row (toilet paper class) the range is [40,50].
  The second, fourth and sixth row shows samples generated for the same neurons by sampling approach from \citet{Nguyen_17a}. Activation range for the samples from \citet{Nguyen_17a} is not guaranteed to be in any fixed range like ours.}
  \label{f:fc8_ppgn_comparison}
\end{figure*}

\begin{figure*}[ht!]
  \centering
  \begin{tabular}{@{}c@{}c@{}}
    \rotatebox{90}{\hspace{5.2ex}{\makebox[0ex][c]{act:[170,200]}}}&
    \includegraphics*[width=.98\linewidth]{r_0_30_200_conv5_197.pdf}\\\\
    \rotatebox{90}{\hspace{5.2ex}{\makebox[0ex][c]{act:[260,300]}}}&
    \includegraphics*[width=.98\linewidth]{r_0_40_300_conv5_197.pdf}
  \end{tabular}
  \caption{Both rows contain $10$ samples out of $500$ samples which are generated to cover the inverse set for neuron number $197$  in the conv5 layer of CaffeNet \citep{Jia_14a}. This neuron is known to detect faces \citep{Yosinski_15a}. In the first row, the activation range is [$170,200$], and samples are mostly human faces. On the other hand, in the second row which has higher activation range( [$260,300$]), contains dog faces with fur. This shows the neuron prefers faces with fur compare to clean faces.}
  \label{f:conv5_7_7_197_sample}
\end{figure*}

\begin{table}[h!]
  \centering
  \begin{tabular}{c|c@{\hspace{5ex}}c@{\hspace{5ex}}|@{\hspace{5ex}}c@{\hspace{5ex}}}
    \toprule
    {\textbf{\hspace{4ex}\textbf{Neuron in fc8}\hspace{4ex}}}&&Ours&PPGN~\citep{Nguyen_17a}\\
    \midrule
    981(volcano class) && 5.58 & 4.82\\
    947(cardoon class) && 6.00 & 4.99 \\
    1000(toilet paper class) && 5.83 & 4.79\\
    \bottomrule
  \end{tabular}
  \caption{Comparison between the  proposed method and PPGN; in terms of mean pairwise euclidean distance between the codes ($\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))$) of the generated samples (all 500 samples in fig.~\ref{f:fc8_ppgn_comparison}). Higher values mean generated samples are more diverse.}
  \label{t:numeric_comp}
\end{table}

\begin{figure*}[ht!]
  \begin{tabular}{@{}c@{}c@{}}
    \rotatebox{90}{\hspace{.3ex}{act:[40,50]}}&
    \includegraphics*[width=.98\linewidth]{random_50_20_1_1_664_rad_10_explore_short.pdf} \\
    \rotatebox{90}{\hspace{.3ex}{act:[40,50]}}&
    \includegraphics*[width=.98\linewidth]{random_50_20_1_1_862_rad_10_explore_short.pdf}\\\\
    &{Inverse set Intersection}\\
    &\includegraphics*[width=.98\linewidth]{20l_862_20l_664_rand_max50_max50_10_short.pdf}
  \end{tabular}
  \caption[caption]{First two rows show the samples generated by our sampling method for neuron number $664$ (represents \textbf{Monastery}) and $862$ (represents \textbf{Toilet seat}) respectively. Both neurons are from layer fc8 of CaffeNet \citep{Jia_14a}. Last row contains the samples from their intersection set. All three rows have activation range of [40,50]. }
  \label{f:662_862_50_mix_short}

\end{figure*}

\begin{figure*}[ht!]
  \centering
  \begin{tabular}{@{}c@{}c@{}}
    \includegraphics*[width=1\linewidth]{13l_300_20l_1000_rand_gooddog_inmiddle_short.pdf} \\\\
    \includegraphics*[width=1\linewidth]{20l_862_13l_197_rand_short.pdf}
  \end{tabular}
  \caption[caption]{ Above figure contains samples from the intersection of the inverse set of a hidden neuron and a neuron in the fc8 layer of CaffeNet \citep{Jia_14a}. The hidden neuron in both rows is neuron number $197$ in the conv5 layer, which is known to detect faces. The activation range for the hidden neuron is $[260,300]$. In the first row, the neuron from the fc8 layer is neuron number $1000$ (toilet paper class), and the activation range is $[20, 50]$. The generated samples have activation value in the range of $[260,300]$ for the hidden neuron and  $[20, 50]$ for the neuron number $1000$ in the fc8 layer.  In the second row the neuron in the fc8 layer is neuron number $862$ (toilet seat class), and activation range is $[40, 50]$. The generated samples have activation value in the range of $[260,300]$ for the hidden neuron and  $[40, 50]$ for the neuron number $862$ in the fc8 layer. }
  \label{f:1000_862_197_mix_short}
\end{figure*}

\vspace{2ex}
\begin{figure*}[ht!]
  \centering
  \begin{tabular}{@{}c@{}c@{}}
    \rotatebox{90}{\hspace{.3ex}{act:[40,50]}}&
    \includegraphics*[width=.98\linewidth]{places205_init_50_20_1_1_88_rad_10_explore.pdf}\\\\
    \rotatebox{90}{\hspace{.3ex}{act:[40,50]}}&
    \includegraphics*[width=.98\linewidth]{places205_init_50_20_1_1_141_rad_10_explore.pdf}
  \end{tabular}
  \caption{Figure shows the results of our sampling process over a different network. The network is a variant of AlexNet trained on MIT Places dataset \citep{Zhou_14a}. The first row contains samples from the inverse set for neuron number $88$ (Gas station class ), and the second row contains samples from the inverse set for neuron number $141$ (Phone booth class). Both neurons are from the last layer before softmax, and the activation range is $[40,50]$ in both cases.}

  \label{f:fc8_mit_88_141_sample}
\end{figure*}

All previous works to understand the neural networks took CaffeNet \citep{Jia_14a} a minor variant of AlexNet \citep{Krizhev_12a} as the main subject. So, we also used a pre-trained CaffeNet \citep{Jia_14a} for our experiments, which had been trained on ImageNet dataset \citep{Deng_09a}. We use Matcovnet \citep{VedaldLenc15a} for all our experiments. Using previous papers  \citep{Nguyen_16a,Nguyen_17a}, naming convention we will also call last three fully connected layers in CaffeNet \citep{Jia_14a} as fc6, fc7, and fc8. fc8 is the last layer before softmax. In all our experiments \ensuremath{\mathbf{E}}\ is pre-trained CaffeNet \citep{Jia_14a}. However, the network has been shortened to the fc6 layer which is the first fully connected layer. The output of the \ensuremath{\mathbf{E}}\  is a vector of size $4096$. \ensuremath{\mathbf{G}}\ is a pre-trained generative network from \citet{Nguyen_17a} \footnote{\url{https://github.com/Evolving-AI-Lab/ppgn}}. \ensuremath{\mathbf{G}}\ \footnote{The only reason we use same network as~\citet{Nguyen_17a} is to do fair comparison of diversity in the generated images. Proposed method is independent of $\ensuremath{\mathbf{G}}$, so it can replaced with any state-of-the-art generative network.}
has been trained to generate images from a feature vector of size $4096$ more specifically output of fc6 layer of CaffeNet \citep{Jia_14a}.

To do a fair comparison of our results with \citet{Nguyen_17a}, we pick the neuron $981$ which represents ``Volcano'' class. We run our algorithm for six times to generate $500$ samples to cover inverse set for this neuron corresponding to different activation levels. Figure~\ref{f:fc8_1_1_981_sample} shows results of this experiment. We pick $10$ samples from generated $500$ samples for each [$z_2,z_1$].

Unlike the previous visualization approaches \citep{Nguyen_17a,Nguyen_16a,Nguyen_16b} (second row of fig.~\ref{f:fc8_ppgn_comparison} ), the generated samples are far more diverse and rich in information. Our approach allows us to look at the samples which excite the neuron at different activation levels; this was not possible before. In doing so, it uncovers samples which have never been seen before. For instance, images which do not even contain volcano, instead contain lava flowing through water, but still excite the neuron.

Figure~\ref{f:fc8_ppgn_comparison} shows some of the samples generated by our algorithm for a certain activation range with some other neurons and their comparison with \citet{Nguyen_17a}. To do a fair comparison with \citet{Nguyen_17a}, we generate samples as it is described in the supplementary section of the paper. We run 10 sampling chains conditioned on various classes each for 200 steps, to produce 2000 samples for each class. We picked $1$ sample from each $200$ steps to provide as much diversity as possible in the samples.

Second row shows the generated samples for neuron number $947$ which represents ``Cardoon'' class for  $z_2=  50$ and $z_1=  40$. The generated samples not only have more diverse color distribution compared to the \citet{Nguyen_17a} (fourth row in the fig.~\ref{f:fc8_ppgn_comparison}) but also showing samples of different shapes and sizes, that can only be seen in real life images.

To further test whether our sampling truly generates diverse samples or not, we pick a rather difficult class: ``Toilet paper'', neuron number $1000$. The reason for the difficulty is as the realistic looking samples cannot just differ by having a different color like in the case of ``Cardoon'' class; they all should have the white color. Sampling method should pick the samples which are of different shape or quantity. The fifth row in fig.~\ref{f:fc8_ppgn_comparison} shows our results. The generated samples are very diverse; they not only show just a toilet roll or toilet rolls hanged with a hanger but also show packed toilet rolls. In fact, samples contain packages with different shapes, labels, and even quantity. The first and ninth sample in the fifth row of fig.~\ref{f:fc8_ppgn_comparison} shows rolls packed in two packages but have altogether different packaging labels, while the third sample shows toilet rolls packed in 3 packages which also have different packaging label than other two. Our sampling method was even able to pick samples such that the number of toilet rolls is different, as shown in the second, fourth and tenth sample. These type of samples can only be seen in real life images thus showing how perfectly our sampling method covers the inverse set. On the other hand, samples generated by using PPGN (Plug and Play Generative Networks) \citep{Nguyen_17a} (sixth row of fig.~\ref{f:fc8_ppgn_comparison}) mostly contains rolls which are standalone or attached to a holder clearly not much diverse. This diversity also translates numerically, as shown in table~\ref{t:numeric_comp}.

We also tested our method for hidden neurons. We apply our algorithm for neuron number $197$ in the conv5 layer (last convolution layer in the CaffeNet \citep{Jia_14a}). This neuron is known to detect faces \citep{Yosinski_15a}. We first apply our approach with activation range $[200,170]$, most of the generated samples produce human faces as shown in the first row of fig.~\ref{f:conv5_7_7_197_sample}. But as we apply the same process with activation range $[300,260]$, dog's faces started to appear in the samples as shown in the second row of the fig.~\ref{f:conv5_7_7_197_sample}. Hence showing this neuron starts getting more activation towards the faces with more fur compared to that of clean faces.

\textbf{Note:} We have created animations to show all the samples that are generated for different experiments in this paper.  Refer to author,s website for details about the animations.

\subsection{Need of encoder($\ensuremath{\mathbf{E}}$) in sampling process}

Both in eq.~\eqref{e:samplingforAlex_code} and eq.~\eqref{e:feasible_region} samples are generated by taking $\ell_2$ distance in code space. Mathematically speaking, the objective function is just a distance between two vectors. But in our case, these vectors (codes $\c$) go through a nonlinear transform (first $\ensuremath{\mathbf{G}}$ and then $\ensuremath{\mathbf{E}}$) before $\ell_2$ distance is applied to them. Take instance of eq.~\eqref{e:samplingforAlex_code}:
\begin{align*}
  \centering
  \argmax_{\c_1,\c_2,\cdots, \c_K } \sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   \quad
  \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_K))\le z_2.
\end{align*}
However, one can argue why we need this transform as it is just a distance between two vectors. So, instead of involving encoder($\ensuremath{\mathbf{E}}$) and generator network($\ensuremath{\mathbf{G}}$) in eq.~\eqref{e:samplingforAlex_code}, we generated samples by optimizing directly over codes in the following way:
\begin{align}
  \centering
  \argmax_{\c_1,\c_2,\cdots, \c_K } \sum^K_{i,j=1}\norm{\c_i-\c_j}^2_2   \quad
  \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_K))\le z_2.
  \label{e:opt_with_codes}
\end{align}
Although, this seems to be a much cleaner approach, then eq.~\eqref{e:samplingforAlex_code} but this results in generating samples which are visually very bad as compare to eq.~\eqref{e:samplingforAlex_code} as shown in the first row of fig.~\ref{f:fc8_1_1_981_codes_fullopt}. Generated samples have large white spots, and they barely look close to the real-life images, unlike the samples generated by the eq.~\eqref{e:samplingforAlex_code} (second row in fig.~\ref{f:fc8_1_1_981_codes_fullopt}), which looks visually much better.

The possible reason for this difference in the quality of the generated images is the presence of certain extreme values (large negative and positive values) in the code vector($\c$) when samples are generated using eq.~\eqref{e:opt_with_codes}.
But when samples are generated using eq.~\eqref{e:samplingforAlex_code} the presence of the encoder($\ensuremath{\mathbf{E}}$) limits the values of the code vector $\c$ in a certain range, which results in more smooth and more natural-looking generated images. However, when codes have been optimized using eq.~\eqref{e:opt_with_codes} there is no restriction on what values of code vector ($\c$) can take, which make them to take certain extreme values (large negative and positive values). This leads to generating images that have big white spots and barely natural-looking images as shown in the first row of fig.~\ref{f:fc8_1_1_981_codes_fullopt}.

\begin{figure*}[t!]
  \centering
  \begin{tabular}{@{}c@{}}
    \includegraphics*[width=1\linewidth]{fc8_1_1_981_codes_fullopt.pdf}\\
    \includegraphics*[width=1\linewidth]{r_0_10_60_fc8_981.pdf}
  \end{tabular}
  \caption{All images are generated for the neuron number $981$ in the fc8 layer, which represents Volcano class. In both cases activation range is [50,60]. The first row samples are generated using eq.~\eqref{e:opt_with_codes} which looks really bad visually unlike the second row samples which are generated by using eq.~\eqref{e:samplingforAlex_code} that are much closer to real life image.}
  \label{f:fc8_1_1_981_codes_fullopt}

\end{figure*}

\subsection{Generating diverse samples from a single initial value }
To check the effect of term  $\sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2  $ in eq.~\eqref{e:samplingforAlex_code} for generating diverse samples we perform following experiment.

First we modify the  eq.~\eqref{e:samplingforAlex_code} as follows:
\begin{equation}
  \centering
  \argmax_{\c_1,\c_2,\cdots, \c_K  }  \quad 1     \quad
  \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_K))\le z_2.
  \label{e:no_obj}
\end{equation}
Then we initialize all $\c$ from same random vector and optimize eq.~\eqref{e:no_obj} using coordinate as described in section~\ref{s:opt_details}. First row of fig.~\ref{f:single_init_60_20_1_1_981_rad_10_explore} shows the generated samples. All samples are very little diverse. Then we repeat the same experiment to generate samples using eq.~\eqref{e:samplingforAlex_code} initializing all $\c$ with the same value as above. The results are shown in  second row of fig.~\ref{f:single_init_60_20_1_1_981_rad_10_explore}. As expected generated are comparatively diverse, showing the need of the term  $\sum^K_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   $ in eq.~\eqref{e:samplingforAlex_code} for generating diverse samples.

\begin{figure*}[t!]
  \centering
  \begin{tabular}{@{}l@{}l@{}}
    \rotatebox{90}{\hspace{.35ex}{act:[50,60]}}&
    \includegraphics*[width=.98\linewidth]{single_init_allsame_60_20_1_1_981_rad_10_explore.pdf}\\
    \rotatebox{90}{\hspace{.3ex}{act:[50,60]}}&
    \includegraphics*[width=.98\linewidth]{single_init_alldiff_60_20_1_1_981_rad_10_explore.pdf}

  \end{tabular}
  \caption{ All images are generated for the neuron number $981$ in the fc8 layer, which represents Volcano class. In both cases activation range is [50,60]. The first row samples are generated using eq.~\eqref{e:no_obj}  such that all $\c$ are initialized with the same random vector. Generated samples look very similar unlike the second row samples that are comparatively more diverse and are generated by using eq.~\eqref{e:samplingforAlex_code} with all $\c$ are initialized with the same value as in the first row.}
  \label{f:single_init_60_20_1_1_981_rad_10_explore}
\end{figure*}

\subsection{Proposed fast sampling process is a good approximation of Eq~\ref{e:samplingforAlex_code} }
Equation~\eqref{e:samplingforAlex_code} is actually enough to generate samples which are different from each other and look like real life images. But as described above it is very slow and may not be be possible due to memory constraints for large number of samples. So we try to approximate this whole process by our modified sampling process as described in section~\ref{s:opt_details}. There is one more approximation we apply while optimizing eq.~\eqref{e:samplingforAlex_code}. We stop our optimization as soon as all our samples reach to the feasible region.

To test how good is our approximation we perform following experiment:

\begin{enumerate}
  \item First we generate $n$ samples instead of $K$ ($K \ll n$) samples at a time, using eq.~\eqref{e:samplingforAlex_code}  as follows:
    \begin{align}
      \argmax_{\c_1,\c_2,\cdots, \c_n } \sum^n_{i,j=1}\norm{\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_i))-\ensuremath{\mathbf{E}}(\ensuremath{\mathbf{G}}(\c_j))}^2_2   \quad
      \text{s.t.} \quad z_1 \le f(\ensuremath{\mathbf{G}}(\c_1)),\dots,f(\ensuremath{\mathbf{G}}(\c_n))\le z_2
      \label{e:all_in_onego}
    \end{align}

  \item Next, using same initial values (picked first $K$ initial images from $n$ used in above experiment), we first generate $K$ seeds using eq.~\eqref{e:samplingforAlex_code}. But instead of stopping the optimization as soon as we reach to feasible region we optimize eq.~\eqref{e:samplingforAlex_code} all the way. After that we generate rest of the $n-K$ samples using eq.~\eqref{e:feasible_region} as described in section~\ref{s:opt_details}.

  \item Last we generate all $n$ samples with the same parameters and same initial values for $K$ seeds in above step using sampling process described in section~\ref{s:opt_details}.
\end{enumerate}

For these three experiments, the total number of samples generated are $n = 100$ and number of seeds are  $K= 10$. The total number of gradient steps took to optimize eq.~\eqref{e:samplingforAlex_code} for experiment in 1 was around $13000$. Compare to this in experiment  2, the total number of gradient steps required for eq.~\eqref{e:samplingforAlex_code} were around $800$ and rest $n-K$ samples were generated under of $35$ steps. Whereas the last experiment took only around $400$ gradient steps which take almost 5-6 minutes over a GPU and rest $n-K$ samples were also generated under $35$ steps. Figure~\ref{f:981_60_full} shows results of this experiment. After looking at the results it is pretty clear that the proposed sampling process does a good job at approximating the solution of eq.~\eqref{e:all_in_onego} in much fewer iterations.

\begin{figure*}[ht!]
  \centering
  \begin{tabular}{@{}c@{}c@{}}
    \rotatebox{90}{\hspace{7.8ex}{act:[50,60]}}&
    \includegraphics*[width=.98\columnwidth]{981_60_full.pdf} \\
    \\
    \rotatebox{90}{\hspace{7.8ex}{act:[50,60]}}&
    \includegraphics*[width=.98\columnwidth]{981_60_10_fullopt_init_explore.pdf}\\
    \\
    \rotatebox{90}{\hspace{7.8ex}{act:[50,60]}}&
    \includegraphics*[width=.98\columnwidth]{random_60_20_1_1_981_rad_10_explore.pdf}\\

  \end{tabular}
  \caption[caption]{In all three cases neuron in concern is number 981 in layer fc8 of  CaffeNet \citep{Jia_14a}  with activation range $[50,60]$. \emph{First block: } All $100$ samples (first 5 rows) are generated by fully optimizing eq.~\eqref{e:all_in_onego}. \emph{Second block: } the first row ( sixth row in total) represents the seeds which are generated by fully optimizing using eq.~\eqref{e:samplingforAlex_code}. That is, unlike proposed sampling approach we didn't stop optimization as soon as all samples were in feasible region. Rest of the samples are generated by our fast sampling method (eq.~\eqref{e:feasible_region}). \emph{Third block: } the first row ($11^{th}$ row in total) represents the seeds which are generated as per the optimization details described in section~\ref{s:opt_details} and rest of the images are generated by our fast sampling method (eq.~\eqref{e:feasible_region}).  From the figure, it is pretty clear that the proposed sampling approach approximate eq.~\eqref{e:all_in_onego} pretty well in much fewer iterations. }
  \label{f:981_60_full}

\end{figure*}

\section{Discussion}
Admittedly, the goal of understanding what a neuron in a deep neural network may be representing is not a well defined problem. It may well be that a neuron does represent a specific concept, but one which is very difficult to grasp for a human; or that one should look at what a group of neurons may be representing. That said, for some neurons their preferred response does correlate well with intuitive concepts or classes, such as the volcano or monastery examples we give. Our approach is to characterize a neuron's preference by a diverse set of examples it likes, which is something that people sometimes do in order to explain a subjective concept to each other. Also, it may be possible to extract specific concepts from this set of examples using data analysis techniques.

\section{Conclusion}
In conclusion, we propose a very simple, yet effective generalized approach to understand the neurons in a deep neural network: an approach that does not involve activation maximization or feature inversion, but instead characterizes the region of input space around different activation values of the neuron of interest. Thus overcoming the shortcomings of current visualization approaches and providing a great deal of understanding what parts of an image are responsible for impacting the activation of a neuron. This eventually helps us to have a much better understanding about the nature of a neuron in deep neural networks.

We also provide a simpler, faster, and hyper-parameter free sampling method which generates far more diverse samples than previously proposed methods. Our sampling method is also very generalized;  just by modifying the constraints, it can also be used for high dimensional sampling in other domains. Although we performed our experiments with only image classification models, our approach for creating inverse sets can also be applied to deep neural networks in other domains, as well as to other complex machine learning models.


text:
Olympic Reporters Are Hungry And Cranky
Filed to: media meltdownsFiled to: media meltdowns
main press center
AIPS
Reporters are the complainingest people on earth, and these Olympics are giving them plenty to complain about—not a good combination. Today's outrage: a severe lack of food options inside the media center.
Staying In Rio Presents Some Challenges
In the coming weeks we'll be hearing plenty from the Olympic athletes about their Rio…
This is no assembled jeremiad, cobbled together from Tweets. Oh no. This is a letter to the Olympic organizing committee from the president of the International Sports Press Association (AIPS), one of the oldest and most respected bodies advocating for sports reporters at multinational events like the Olympics and the World Cup. And AIPS is not pleased with the setup at the Main Press Center, which consists of a water cooler, a coffee urn, and some teabags (seen above).
An inspection of the MPC by AIPS president Gianni Merlo has discovered that food and beverage services are extremely lacking.
"More than accredited 5,000 journalists are expected in Rio and if there's one thing that journalists don't like it's being hungry," said Merlo.
The Main Press Center is the home base for thousands of print and web reporters covering the Games. It's a no-nonsense bunker, with workstations for everyone and host to regular press conferences with athletes. And usually, there's food there. Not this time—for unknown reasons, McDonald's does not have a restaurant in the Main Press Center for the first time since it became an Olympic sponsor in 1976.
So, yes, it sucks not to have food nearby when you're working on deadline. It's fair to complain. It's also not very self-aware to strike a tone as if a true cosmic injustice is being done here.
"Water is not enough - there is no bottled water, coffee and tea is simply not served in adequate quantities, so the containers are empty most of the time. There is nowhere in the MPC to get food. Not even a snack bar for sandwiches and beverages. These facilities have been provided in the IBC for the broadcasters (with two snack bars)."
Merlo said the situation was unacceptable.
"The working press will need access to fast food options. Is the working press any different from those housed at the IBC? Why are we being treated as second class citizens?"
(The broadcasters paid a shit-ton for the rights to show the Olympics. Scribes are and will always be second-class citizens in the IOC's eyes.)
So: always carry a bunch of snack bars, folks, or take a walk to one of the nearby facilities with food options. If you can get some cash:
This is all very funny, because I am thousands of miles away and this does not affect me at all, and also because many reporters have been at this so long that they do not realize how it comes across, rightly or wrongly, to complain about the lack of perks on their all-expenses-paid three-week trip to Brazil. But this is a real problem for the organizers and the IOC. Reporters have the tallest platform and the loudest microphone, and if they're not happy at these Olympics, they're going to tell everyone about it, and, perhaps, shape a bit of public opinion of these Games. Pro teams learned this long ago: a sated reporter is an effusive reporter.
This is a good start:
[AIPS]
Deputy editor | Deadspin

redpajama_set_name: RedPajamaCommonCrawl


Spiritualized are set to play an intimate "secret" show in Los Angeles tonight (September 19).
Jason Pierce and company, who performed the Hollywood Bowl earlier this week and are set to play the San Diego Street Scene festival tomorrow (September 20), will headline a free show at the small club The Echo this evening.
The gig is part of the MySpace Secret Show series put on for the social networking website's community. For tickets and further details, visit Myspace.com/secretshows.


The wind park St. Gildas consists of four Enercon E-82 turbines. The plant was commissioned in October 2013 and is located in Brittany in western France. With a total capacity of 9.2 MW the wind park produces approximately 24.5 GWh of electricity per year, enabling it to cover the consumption of almost 9'500 households and thereby saving more than 28'000 tons of CO2 emissions per year. The company sells the electricity to the local grid operator under the French renewable energy support system, which grants wind parks a feed-in tariff for 15 years.


I found this model to have plenty of grip round the corners, much more than the TVR. Its top speed was also sufficient. This was my first model and i found it to be very forgiving. I would recommend one of these to a beginner. This model looks great and can take the knock (most of the time). The only think I managed to brake was on of its wing mirrors. this model didn't come with lights as it came out of a set but it was easy enough to retro fit them. simply take out the rubber bung and put in the Scalextric replacement light.
This model was faster than the focus but it had a lot less grip on the corners. for a beginner not the best car but once you get used to the power slides its a joy to drive. I often use this when I want to disadvantage myself when racing an inferior competitor to even it up a but. This model came with lights and has some nice driver detailing. The overall look of the car is a bit plasticy. This car also attracts dust like the plague.


Our gorgeous girlie T-shirts are lovely quality. (Please note that we don't keep a huge stock of sizes in stock so occassionally we may need to order it in for you which will delay your order... you will always be notified if this happens).
£1.00 from each Milly Moo T-shirt sold will be donated to SNORS (Special Needs Older Rabbit Sanctuary) who have been a huge source of help and support to us and help make a huge difference to special needs bunnies like Milly Moo.


The "Cattolica Monastery in Stilo and Basilian-Byzantine complexes" have been on the list of nominees for the UNESCO World Heritage list for almost 10 years, but so far have not made it, and I don't know why.*(see note) Southern Italy is well represented on the list—Naples, Paestum, Amalfi, etc., (see this link) so it's not biased regionalism or anything like that. Maybe it's a general perception, even among those who stayed awake in Medieval European History 101, that not much happened in the south between the fall of the western Roman Empire and the coming of the Normans, who founded the Kingdom of Sicily (which became the Kingdom of Naples). That's about 600 years, give or take, in which nothing happened!
Southern Italy has been largely ignored by most historians of medieval Europe. Since the region was both prominent and prosperous in antiquity, one might have expected more curiosity...they typically have glanced south only briefly, to consider the Normans, and thereafter have largely concentrated on developments from Rome northward...[but]...in this early medieval period, southern Italy was a giant laboratory, one in which politics were tested and where Byzantium, the Lombards, the Islamic world and the Latin West constantly intersected.
Byzantine Calabria underwent a slow process of orientalisation of all forms of religious life (rites, cults and liturgy), which accompanied the remarkable spread of churches and monasteries, founded by Eastern monks, that preserved and transmitted the Greek and Hellenistic tradition.
So, the Cattolica monastery in Stilo is easily the best example. The town of Stilo is in the province of Reggio Calabria in the region of Calabria, only about 10 km inland from the Ionan Sea at the bottom of the "toe" of the boot of Italy. The Cattolica is a tiny red-brick structure like the type of religious buildings common in the Peloponnesus, Armenia and Anatolia. The church has a Greek cross plan within a square and three apses symmetrically arranged around a central dome. The vaults are supported by columns taken from ancient buildings in Magna Graecia. Also, the name "Cattolica" meant simply a church equipped with a baptistery. Also again, the Cattolica contains a bell installed in 1577 after the church was converted to Latin rites. And really also, there is an Arabic inscription on the premises that says "There is only one true God," which almost certainly means that at some point the structure was used by Muslims.
Baptistery in Santa Severina (prov. of Crotone).
*note to "I don't know why." - Maybe I figured it out. One of the most recent (2015) additions to the UNESCO list is "Arab-Norman Palermo and the Cathedral Churches of Cefalú and Monreale" on the northern coast of Sicily. It is a multi-structure site of nine civil and religious structures dating from the era of the Norman kingdom of Sicily (1130-1194). It is an outstanding example of cultural syncretism and certainly a worthwhile addition to the list, but as Barbara Kreutz observes (text box, above) interest in southern history seems to begin again only with the Normans.


NewTek Discussions > LightWave 3D For Developers > LScript Scripting > A question from a newbie, please do not ignore!
View Full Version : A question from a newbie, please do not ignore!
First of all, I am making a game (called Science Fiction Career).
I want to use the funtions of LightWave in other programs (like in Visual C++), like creating objects on the screen (with OpenGL), alright I can do this, but I want to use the functions to modify an object, like making a Slip Stream Corridor (from Star Trek), I have this tutorial: http://www.quantumss.freeserve.co.uk/QSS3D/Tut_Slip.html so I want to modify the object with the functions from LightWave to make such a thing. Is this possible?
Sorry if I sound very unclear, I am not English after all, just ask and I will try making it more clear.
You can't call LW functions externaly. Though might be able to create a plugin that would communicate with a 3rd party program.
Looking at the tutorial, you could use the LW SDK or maybe LScript to an extent, to aid in creating such objects and adding the 'randomness' you require.
Set the Texture size to (X, 2m) (Y, 9 cm) (Z, 9cm). Texture velocity : (X, 1mm) (Y, 10mm) (Z, 10mm) Click Use texture to return to the Main surfaces panel, now click the transparency T button. Select the Fractal noise texture and enter these values : Click for a larger version.
And because my game will contain (if I can make one) a Slip Stream Corridor (the tutorial makes one) and because the objects in my game move, then it would seem a little bit dump if the Slip Stream Corridor would stand still, and even more because in the series (Star Trek Voyager) they move.
Besides (sorry for (maybe) more dump questions) where can I get the SDK?
And does this contains tutorials on LScript?
And does LScript only work in LightWave or also in other things?
Anyway I'm not sure you are looking on the right way.
Don't see Visual C++ as a simple program, it's a programing language before all. LightWave is just the place where you'll design your models and create their animations (along with Photoshop, etc...). To make it short LW, Photoshop are just here to help you making the visual part, they have nothing to deal with your game engine.
1st you need a game engine, for example the one used in Quake2 is avaibles for free (but there is a lot of other, just search the web).
2nd you really need to do more search about how a game is created and how it works because you are obviously missing the main purpose and lot of crucials infos.
PS: Yes LScript (Lightwave Script) will only works in LightWave, but really this is not what you are looking for.
What I want, is to use the tools of LW in Visual C++ using the OpenGL 3D Engine.
And I am not new to programming (nor game making), I posses Visual Basic 6, basics in standard C++, basics in Python (well the Star Trek Bridge Commander version of it) and I am learning OpenGL. Untill now all my games where 2D.
So is there not a way to link to a dll file of Lightwave, so that I can use it's tools?
Oh and I am sorry for the spelling error, I am not English after all so English is my second language.
Try baking the textures to a UV map, then animate (scroll) the UVs in your game engine.
"So is there not a way to link to a dll file of Lightwave, so that I can use it's tools?"
Well I don't really get the point there because if you use LW's dll you won(t be able to distribute your game (LightWave's source code and by extension dlls are the propriety of Newtek). Also LightWave is not really optimised compared to recent (or even some old) 3D engines for the game market, your final product would be slow as hell.
You should really looking into your game engine's SDK (I assume you found one yet), after all, animating a texture is a really classic feature.
Ah pity, then I need to make my own morphing tools and such.
About the speed isue, I have a feeling that my game will be for the 5GHz+ processor and a Radeon 12000 and a 10GB Swap area. Mainly because I am trying to implent real time Material simulation in it (like realtime cloth simulation, stress on Iron, paper, but also skin, bones nerves).
And I am already able to animate textures using several ways.


Have you been searching all over for the right call center Dallas area to help take your business from one level to the next? Have you been frustrated with other solution companies to never seem to match the detailed services in which you are searching for? Look no further than with MicahTek you can provide you the support services that you have been searching for and truly deserve. In no time at all you will be on the fast track to taking your business from one level to the very next.
At MicahTek, our team has been able to help many clients across the nation time and time again with the specific services that their company needs. We provide more than 15 different services for you to choose from in which you can pick the ones that truly fit you. You will never be locked into a contract in which we want to provide you the services based on month-to-month. I any time if the services that we provide and the solutions are not what you are searching for you always have the freedom to opt out. At MicahTek we also want to provide your first 30 days of services completely free of charge, this allows you the ability to see what our team is capable of and how we can help you.
We want to act as an extension to your business and provide feedback and support to continue the growth of your business. Which is why we want to provide the call center Dallas area for you that can truly help you and achieve the growth you have been searching for. Whether you may be looking for help with order fulfillment, masked email marketing, or even text to donate services, we are here to make that happen for you. No matter what type of services or solutions you may be seeking, we guarantee that we have the answers that can take it next level in no time at all.
With the team at MicahTek you will be able to grow and will be able to fulfill day-to-day tasks that may be a challenge for you at the time. Because our team is solution space, we only want to provide you with the solutions that you truly need for the growth of your business that you desire. We have been able to help so many clients across the nation whether it be with call center Dallas area or even database management. We have the solutions and answers the you have been seeking for so long.
Head over to www.micahtek.com today to fill out a contact form so we can speak with you one-on-one about the services that we can provide for you. Learn more about the success stories from clients across the nation on our website as well by watching the testimonial videos. For any additional information or questions, give us a call at 918.449.3300 today.
When it comes to finding the right call center Dallas area for all of your business needs and day-to-day tasks fulfilled, look no further than with the trusted team at MicahTek. We have been established since 1986 as we began as a software company and have transformed into a full key service solution space company. We have been able to help many clients across the nation time and time again with all of their service needs and solutions completed.
We guarantee at MicahTek you will be satisfied with the results after teaming up with us and will be on the fast track to taking your business from one level to the very next in no time at all. Because we are solution space, we want to provide you with the solutions that you and your business truly need to help grow to the levels that you have desired for so long. We offer more than 15 different services by we want to focus in on the ones that you release it you as you have the ability to choose which ones you have been searching for.
when you allow MicahTek to provide you services, we provide you the first month of service is completely free of charge. This allows us to showcase our capabilities whether it be finding the right call center Dallas area has to offer or helping with your order fulfillment, or even mass email marketing. Whatever services or solutions you may be seeking, we guarantee that your team has the answers for you. You will be satisfied with the results and you will never be locked into a contract in which we provide your services month-to-month.
At any time if you do not feel satisfied with their solutions or services that we provide, you have the ability to opt out. We find it crucial to meet your expectations and to help you grow your business and to help the success of your business continue growing as well. When it comes to services such as text to donate service, database management, or even call center Dallas area, the team at MicahTek is your go to. After your very first month of service is completely free of charge, you will see exactly why our team is to go to for so many clients across the nation for all their business growth needs.
Head over to www.micahtek.com today to learn more about the different services and solutions that we can provide for you. Over on her website you can also fill out a contact form to speak with his one-on-one to see exactly what services are the right fit for you. You can also learn more about the testimonials from our clients from all over the nation who have seen the true success from us. For any additional information or questions that you may have, give us a call at 918.449.3300.


text:
Gordon Leslie Arnold (ur. 14 sierpnia 1941, zm. 15 października 1997) – mężczyzna, który twierdził, że był świadkiem zamachu na prezydenta USA Johna F. Kennedy'ego 22 listopada 1963 na Dealey Plaza w Dallas.

27 sierpnia 1978 dziennikarz Earl Golz napisał artykuł w The Dallas Morning News o świadkach którzy "mieli do czynienia" z fałszywymi agentami United States Secret Service – jednym z tych świadków był Gordon Arnold. Według artykułu, Arnold idąc w stronę ogrodzenia na trawiastym pagórku minuty przed zamachem został zatrzymany przez mężczyznę podającego się za agenta Secret Service który nakazał mu opuszczenie tego miejsca. Gordon Arnold próbował w tej sytuacji dostać się na most kolejowy nad trzypasmową drogą, aby nakręcić kamerą przejazd prezydenckiej kolumny, gdy podszedł do niego mężczyzna który powiedział, że jest razem z Secret Service i po pokazaniu odznaki nakazał, że Arnold nie może tam być więc ten przeniósł się na pagórek przed ogrodzeniem, gdzie filmował kolumnę, jadącą od strony Elm Street. Stwierdził, że padły dwa strzały zza jego głowy i że upadł na ziemię gdy poczuł pierwszy strzał nad swoim lewym ramieniem. Gordon Arnold powiedział, że leżał przez cały czas filmowania, dopóki nie poczuł kopnięcia – był to jeden z dwóch policjantów który kazał mu wstać. Drugi policjant płacząc i trzymając strzelbę skonfiskował film i nakazał Arnoldowi opuszczenie tego terenu. Gordon Arnold zasugerował, że obawiał się zgłosić służbom ów incydent ze względu na niewyjaśnione zgony osób w mniejszym lub większym stopniu powiązanych z wydarzeniami z dnia śmierci prezydenta – nie został więc wezwany przed Komisję Warrena ani Komisję Izby Reprezentantów do spraw Zabójstw. Według artykułu, w czasie zamachu Arnold był żołnierzem United States Army, który właśnie ukończył szkolenie podstawowe i zgłosił się dwa dni później do służby w Fort Wainwright na Alasce.

Chociaż istnienie fałszywych agentów Secret Service zostało wspomniane 15 lat wcześniej przez świadków, nie ma dowodów na to, że Gordon Arnold był na Dealey Plaza podczas zamachu. Nie widać go na zdjęciach ani filmach, a żaden ze świadków na trawiastym pagórku nie wspomina o jego obecności. Otrzymał jednak wsparcie od senatora Ralpha Yarborougha, który jechał w prezydenckiej kolumnie. Yarborough skontaktował się z dziennikarzem Earlem Golzem, który opublikował historię Arnolda i powiedział Golzowi, że widział człowieka, który upadł na ziemię w sposób opisany przez Gordona Arnolda. Ralph Yarborough mógł widzieć Arnolda albo Williama Newmana, który z pewnością padł na ziemię w pobliżu trawiastego pagórka zaraz po śmiertelnym strzale w głowę prezydenta.

Gordon Arnold zmarł w 1997 i jako weterana wojny wietnamskiej pochowano go na cmentarzu Little Bethel Memorial Park w Duncanville (stan Teksas).

Przypisy

Linki zewnętrzne

Zamach na Johna F. Kennedy'ego
Amerykańscy weterani wojny wietnamskiej
Urodzeni w 1941
Zmarli w 1997

redpajama_set_name: RedPajamaWikipedia


text:
El nombre Kano puede referirse a:
 Kano, ciudad de Nigeria.
 Kano, estado federal de Nigeria.
 Kano, personaje de Mortal Kombat.
 Kano, rapero británico.
 Escuela Kanō, estilo de pintura japonesa.
 Eitoku Kano, artista japonés.
 Jigorō Kanō, maestro japonés de artes marciales, fundador del judo.
 Kano, banda dance italiana.


Recently, we witnessed the Balearic Islands pass strict regulation on bullfighting making it illegal to force bulls into "performing" for more than 10 minutes or to use sharp implements and horses in a bullring. This decision was not only a major step forward but also a new found hope that these regulations could also be adopted in other parts of the world where bulls are slowly tortured, psychologically tormented and finally killed in the name of entertainment, especially Nations who have been extremely reluctant into outlawing bullfighting completely.
We respectfully write to you requesting for a nationwide ban on the killing and wounding of bulls in bullfights. Throughout the years Bullfighting has proven to be a deadly and cruel spectacle not only for the thousands of bulls killed each year but also for the horses and people involved. Spain is a nation immersed with culture and history which attracts millions of tourists each year. International and National condemnation of this deadly spectacle continues to grow, with a recent poll that showed a significant percentage (79%) of Spanish citizens opposed bullfighting with the majority being 16-24 year olds.
For anyone planning on visiting Countries that host bullfighting Please write to these embassies and explain that as long as this cruelty and killing continues, you will never visit these countries.
Like and Follow us on facebook and twitter to Stay up to date with this campaign and to help us with our efforts towards helping more Animals with future campaigns.
Please share my name and email address with International Animal Foundation, so that I can receive updates on this campaign and others.


Free Bubbles 3D Screensaver, as its name clearly indicates, is an intuitive screensaver that lets you enjoy bubbles on your desktop when you are not actively using it.
The screensaver takes you deep underwater without leaving your chair. You will enjoy watching different aquatic life as bubbles rise to the top of your screen. The 3-D bubbles playfully reflect light and other underwater colors as they rise to the surface.
The random bubbles are different any time you start the screensaver, removing the risk of monotony and possible boredom. Instead, you will have the unique opportunity to enjoy relaxing nature right in the comfort of your house. The screensaver will help you unwind after a hard day's work or whenever you feel tired.
Depending on your interests, you can spend the time trying to identify the various marine plants appearing in the background. Alternatively, you may simply sit back and watch bubbles of different shapes and sizes floating from side to side as they rise. You may even try to identify the various features they reflect in their upwardly journey.
You can install the screensaver and save its shortcut on the desktop for fast access. Simply double click the shortcut to launch it and, as is the case with other screen savers, just move the mouse or press a key to deactivate it. If you press the space bar, you will be taken to the developer's website to download more screensavers.
The program's installer gives you the option to select it as the default screensaver during installation.


Like with any religion, the answer to homosexuality is complicated, but it doesn't have to be. It's when religion is taken to the extreme that issues arise. We take a closer look at what it means to be gay and Muslim.


How much decking do I need?
Whether you are planning to design and build a new deck or rejuvenate an existing area, it's worth weighing up the pros and cons of the various deck board finishes and range of balustrades available.
To help make the installation of your deck boards easier, we have put together ten short decking videos which includes an introduction to our decking range, how to maximise the life of your decking and how to avoid water pooling plus many more. View them here.


Monitors inside South West Water's assets are activated when there are overflows. These measure the duration of overflows - if they meet the agreed significance criteria which will trigger an automatic "amber" symbol.
What does a blue symbol mean?
There has been no overflow recorded in the last 12 hours at this bathing water therefore it is not affected by weather related sewage discharges.
What does an amber mean?
There has be a significant overflow(s) recorded in the last 12 hours which MAY affect bathing water quality. The amber will be replaced by a blue symbol when there are no further significant discharges in the next 12 hour period.
What does the maintenance symbol mean?
The monitor at the overflow is being inspected or repaired and will be returned to normal service as soon as possible.
What does the red symbol mean?
We have introduced a new 'red flag' to indicate when a beach has been closed due to other circumstances such as particularly dangerous currents or oil spills.
How did you chose which beaches would be included?
We launched BeachLive in 2011 with 21 beaches, with live information feeds from 16 of these beaches.
For the first year, we wanted to feature some of the area's most popular beaches to see how well used the site would be. For that reason, most of the beaches on the site that year were awarded a Blue Flag in 2010. Others were chosen because they are well used by visitors or because they were nominated by our partners, including Surfers Against Sewage. Only beaches where managers and owners have granted permission were included.
In 2012 we used the same criteria to expand the site to include live feeds from 35 beaches, bringing the total number of beaches featured to 41. We now have 47 live feeds and 96 beaches featured.
What are the significance triggers?
The specified duration at each bathing water is based upon Environment Agency's assessments of significant flow and has been agreed with key partners including Surfers Against Sewage.
Why are they different at each beach?
They may differ at each bathing water due to the position, length and diameter of the overflows and other local factors such as the affects of tides and how rivers/streams affect the bathing water. It must be remember that BeachLive is designed to give bathers and recreational water users up to the date information regarding bathing water quality and it is not a system to record the performance of a sewer network.
What if a customer sees sewage on/off a beach but it's still blue on the site?
A customer should contact South West Water and/or the Environment Agency to report sewage on or off a bathing water. Working together we will seek to establish cause and carry out any clean-up work as necessary. Often there are other factors which impact on bathing waters including urban drainage, agricultural run-off, algae, private sewers and misconnections - homes wrongly connected to surface water drainage instead of public foul sewers.
Should I swim after a storm?
Following heavy rainfall, the Health Protection Agency advises that bathing water quality can be affected by several factors, including agricultural pollution and urban drainage, as well as water companies' infrastructure. Stormwater overflows, which protect homes and gardens from sewer flooding, are also designed to operate at times of heavy rainfall.
What other risks to bathing water quality are there? Why can't you tell us about them, too?
Water quality can be affected by other factors including urban drainage, agricultural run-off, algae, private sewers and misconnections - homes wrongly connected to surface water drainage instead of public foul sewers. Wet weather significantly increases the likelihood of all these factors affecting water quality at the beach. We cannot measure all risks to bathing water quality but we are working with others to minimise the cause.


Our sister site Geek Girl USA is running a giveaway for a Canon Rebel T3 camera. Check out the post here. Follow the instructions and keep your fingers crossed. The winner will be announced on 2/2. So don't delay… head on over there for your chance to win.
Stay tuned to Grandmother Diaries as we turn this site in to your source for all things grandparents need and want to be the best they can be.


8:43 PM Here's some pics from the Fillmore. These were taken by Jennifer Schrader; she does great work. I've featured some of her shots before. Of course she's a big Mofro fan too. She's been gracious again to grant permission to use the photos here on the fansite. When I get a chance I'll post more, but this is a good start.
I see FireFly in the shot below. She's in the left quadrant, about 5 "rows" back, with a white beret on. Wow, it would appear she has her mouth closed. A rarity indeed.
5:50 AM she does some amazing work!! Thank you Jennifer and I love the boot shot!
Could be wrong, but I've never seen JJ with that guitar. Possibly a new SG or maybe he got a new pick guard on his regular black SG?


text:
Ankit Aggarwal (born 5 June 1983) was an Indian cricketer. And BCCI level - B coach. He is Zca u-16 fielding coach and HPCA U-19 Head Coach.

He was a middle-handed batsman and leg-break bowler who played for Himachal Pradesh. He was born in Kangra.

Aggarwal made a single first-class appearance for the side, during the 2004–05 season, against Jharkhand. From the tailend, he scored 11 runs in the first innings in which he batted, and a duck in the second.

Aggarwal bowled 5 overs during the match, conceding 30 runs.

References

1983 births
Living people
Indian cricketers
Himachal Pradesh cricketers
People from Kangra, Himachal Pradesh


text:
Legal Limbo
British Supreme Court Orders Extradition of WikiLeaks' Julian Assange
Britain cleared the way for the extradition of the WikiLeaks mastermind to Sweden. By Mike Giglio.
Mike Giglio
Oli Scarff / Getty Images
UPDATE: Geoffrey Robertson, QC, the revered human-rights lawyer who played a key role in devising Assange's legal defense, tells The Daily Beast that while the extradition battle may be lost, its impact has already been felt—and says that Assange's true concern is the United States:
"[Today's ruling] was entirely predictable, because to rule in his favor would have partly destroyed the European extradition arrangement. Nonetheless, [Assange's legal argument] was a valid point. The argument that I devised for him was that to say a prosecutor was a judicial authority was a contradiction in terms. A judicial authority in British, American, and Australian law is a judge—someone who is independent and impartial. But a prosecutor obviously is not, and it's a dissolution of civil liberties to adopt the unfair systems that Napoleon introduced into Europe, which muddles the distinction. However, the judges were divided, and all agreed that the British Parliament had been misled by ministers who assured it that a judicial authority did mean a judge.
"The argument has kept Mr. Assange free in Britain for 18 months, under house—or at least, mansion-house—arrest. And it enabled him to produce Cablegate, which is of much importance to historians and journalists and helped to spark the Arab Spring with its revelations of corruption in Tunisia and Egypt. Assange must face down these spurious allegations of 'minor rape' [another contradiction in terms] made against him in Sweden, but his real anxiety is that the grand jury sitting in Virginia will produce a sealed indictment and the Justice Department will pounce once he gets to Sweden. Sweden has a government that bends to America's will and has been found guilty of handing out special rendition at the request of the CIA: the Swedish justice system is amenable to government pressure, and he is much more vulnerable in Sweden than he is in the United Kingdom or Australia. He is asking the Australian government to obtain an undertaking from the Swedish government that when its legal system is finished with him, he will be allowed to return to Australia, where he is confident that the courts will deal fairly with any American extradition requests."
Britain's Supreme Court ordered Julian Assange to be extradited to Sweden today—but in yet another twist to the hacker's strange legal saga, his fate could remain in the balance for at least another two weeks.
In its long-awaited decision, the court ruled by a margin of 5–2 that Sweden's request to extradite Assange had been lawfully made, meaning that the controversial WikiLeaks founder should be returned to Sweden to face allegations of sexual abuse.
After the ruling, Assange's legal team successfully petitioned for a 14-day window in which to consider challenging the decision, arguing that it may have been based on considerations that were not addressed during the appeal. Speaking on the BBC, Joshua Rozenberg, a legal analyst, called the move "unusual," adding that it "means there's everything left to play for still."
Assange has been under house arrest in Britain during his long battle against extradition, much of it spent at the country estate of the journalist Vaughan Smith, who told The Daily Beast last year that he viewed hosting Assange as "standing up to the bully." Assange stands accused of sexually abusing two women in August 2010, which he has denied. Supporters have alleged that the charges are politically motivated, seeing a conspiracy against the man whose leaks have rankled Western governments, particularly the United States.
In a statement last night, WikiLeaks declared itself to be "under serious threat" of legal ramifications in America. "The US, UK, Swedish and Australian governments are engaging in a coordinated effort to extradite its editor-in-chief Julian Assange to the United States, to face espionage charges for journalistic activities," the statement reads. "For twenty-one months a Grand Jury sitting in the Washington DC area has been meeting on a monthly basis, seeking to prosecute Julian Assange for espionage."
There have been unconfirmed reports—following recent leaks from Stratfor, the global intelligence company—that a federal grand jury in Alexandria, Va., has issued a sealed indictment charging Assange with espionage. Louis B. Susman, the U.S. ambassador to Britain, said in February that America would "wait to see how things work out in the British courts" before taking any action.
Julian Knowles, a London-based lawyer who specializes in extradition, told The Daily Beast earlier this year the idea that the Swedish case was a ploy for U.S. extradition was a "fantasy," saying extradition would be just as easy, if not easier, from London. But Assange and his legal team have continued to paint the case as part of a broader battle with the United States. "If the indictment is unsealed upon Assange's extradition to Sweden he faces further removal from Sweden to the United States," the WikiLeaks statement said, adding that its associates had been "detained and interrogated at US and UK airports, their equipment confiscated, and attempts have been made to turn them into informants."
Assange did not attend this morning's hearing—his lawyers told the court that he was "stuck in traffic"—but supporters were gathered outside the courthouse toting signs, one reading "U.K. courts kiss U.S. ass." Smith appeared at the court along with Assange allies such as Australian journalist John Pilger and WikiLeaks spokeswoman Kristinn Hrafnsson.
Assange's challenge was based on the question of whether the Swedish prosecutor who issued his arrest warrant had judicial authority to do so. The warrant was issued in December 2010 after two Swedish women, both former WikiLeaks volunteers, accused Assange of sexual abuse the previous summer, when he was living in and around Stockholm. According to the allegations, consensual sexual encounters with Assange became nonconsensual. The women have alleged four offenses against Assange, according to court documents—one for "sexual coercion," two for sexual misconduct, and one for "minor rape." Assange has admitted to having sexual relations with both women. He has not been charged with a crime.
The court ruled today that the warrant was lawful, but Dina Rose, Assange's counsel, was able to buy her client additional time. She argued that "the majority of the court appear to have based their decision on the interpretation of the Vienna Convention on the Law of Treaties, on which no argument was heard and no opportunity of making submission was given," according to a statement issued by the court after this morning's hearing. The statement added that Rose had been given 14 days to apply to reopen the case on these grounds.
The new deadline means that Assange will remain in legal limbo until at least June 13, with the possibility for further delays. Once a decision to extradite is finalized, according to Knowles, Assange could "be onto a plane to Sweden within 10 days."


text:
Propaganda and the Ethics of Persuasion – Second Edition
Written by: Randal Marlin
ISBN: 9781554810918	/ 1554810914
392 pages; 6" x 9"
Print	US $35.25
eBook US $21.21
Broadview eBooks are available on a variety of platforms. To learn more, please visit our eBook information page.
Note on pricing.
Availability: Worldwide
This book develops a sophisticated account of propaganda and its intriguing history. It begins with a brief overview of Western propaganda, including Ancient Greek theories of rhetoric, and traces propaganda's development through the Christian era, the rise of the nation-state, World War I, Nazism, Communism, and the present day. The core of the book examines the ethical implications of various forms of persuasion, not only hate propaganda but also insidious elements of more generally acceptable communication such as advertising, public relations, and government information, setting these in the context of freedom of expression. This new edition is updated throughout, and includes additional revelations about a key atrocity story of World War I.
"Propaganda and the Ethics of Persuasion is a book we need now more than ever. It is a stand-alone resource for those who don't know anything about propaganda, want a refresher, or want to see how propaganda has fared in the digital age. Marlin's clear, strong writing brings home the enormity of propaganda's reach and the danger it represents to all of us." — Tim Blackmore, University of Western Ontario
"In the tradition of George Orwell's Nineteen Eighty-Four and Jacques Ellul's Propaganda, this book will become a classic of the 21st century as theirs were of the 20th. Its substance, exceptional clarity and unsettling relevance show a master teacher at work." — Clifford G. Christians, University of Illinois
"… [Randal] Marlin's book should be on the bookshelf of any serious scholar of propaganda and persuasion." — Gary James Jason, Dialogue
"… the acknowledged classic in the field"— William Lyons, Emeritus Fellow of Trinity College Dublin
Comments on the first edition:
"Concerted efforts to 'direct the thought of the world' have become a dominant feature of modern life, notably in the more free societies, where direct coercion is less feasible. This study is a welcome contribution to increasing public awareness and understanding of these critical matters. It approaches them with historical depth and insightful commentary, also raising and investigating hard questions of propriety and limits that should be the focus of intense concern." — Noam Chomsky, M.I.T.
" … so terrifyingly relevant to the troubled world of today … excellent book … so measured, so wide-ranging. … " — Barbara Wright, Trinity College, Dublin
"Marlin's reflections have been well marinated, coming as they do, he tells us, from three decades of studying 'the day-to-day manifestations of opinion, in newspapers, radio and the university workplace." — Patrick MacFadden, Literary Review of Canada
Preface to the First Edition
Preface to the Second Edition
CHAPTER 1: Why Study Propaganda?
Two Major Propaganda Theorists: George Orwell and Jacques Ellul
Plan of the Book
Chapter 2: History of Propaganda
The Early Christian Era
From the Middle Ages to the Enlightenment
The French Revolution and Its Aftermath
Later Nineteenth-Century Developments
British Propaganda in World War I
Leninist Propaganda
Nazi Propaganda
World War II to the Present Day, In Brief
CHAPTER 3: Propaganda Technique: An Analysis
Devices Involving Language Manipulation
Non-Verbal Techniques
CHAPTER 4: Ethics and Propaganda
Introduction: What Is Ethics?
Ethical Theories
The Morality of Lying
Misleading without Actually Lying
The Ethics of Communication
On the Ethics of Propaganda
Conclusion: Propaganda and Autonomy
CHAPTER 5: Advertising and Public Relations Ethics
Public Relations Ethics
CHAPTER 6: Freedom of Expression: Some Classical Arguments
Modern Communications Media: A Free and Open Encounter?
Additional Free Speech Arguments
CHAPTER 7: The Question of Controls
Controls on Hate Propaganda
Government Controls on the Media
The Media Controls Itself
Addendum, 2012
CHAPTER 8: Propaganda, Democracy, and the Internet
The Achievements and Promise of the Internet
Uncertainties and Negative Features
Strategies for Democratizing the Net
Propaganda Analysis
Permission Acknowledgements
Randal Marlin is a professor of Philosophy at Carleton University.
Victims and Victimhood
Lessons of Kosovo
Animals and Ethics – Third Edition
How to Be Good with Words
Globalization and International Development
Humanitarian Intervention
Philosophizing About Sex
Moral Issues in Global Perspective – Volume 1: Moral and Political Theory – Second Edition
The Morality of War – Second Edition
The Immorality of Punishment