# Regex-augmented Domain Transfer Topic Classification based on a Pre-trained
Language Model: An application in Financial Domain

Vanessa Liao
Manulife
250 Bloor St E
Toronto, ON M4W 1E5, Canada
<EMAIL_ADDRESS>
&Syed Shariyar Murtaza
Manulife
250 Bloor St E
Toronto, ON M4W 1E5, Canada
<EMAIL_ADDRESS>
Yifan Nie
Manulife
250 Bloor St E
Toronto, ON M4W 1E5, Canada
<EMAIL_ADDRESS>
&Jimmy Lin
University of Waterloo
200 University Avenue West
Waterloo, ON N2L 3G1 Canada
<EMAIL_ADDRESS>

###### Abstract

A common way to use large pre-trained language models for downstream tasks is
to fine tune them using additional layers. This may not work well if
downstream domain is a specialized domain whereas the large language model has
been pre-trained on a generic corpus. In this paper, we discuss the use of
regular expression patterns employed as features for domain knowledge during
the process of fine tuning, in addition to domain specific text. Our
experiments on real scenario production data show that this method of fine
tuning improves the downstream text classification tasks as compared to fine
tuning only on domain specific text. We also show that the use of attention
network for fine tuning improves results compared to simple linear layers.

##  1 Introduction

In industry, a very popular application of textual data analysis is topic
labeling or topic classification. Textual data could be in the form of
surveys, messages on online forums or voice call transcripts. Assigning topics
(or themes) to this textual data helps business decision makers understand
common issues or themes being discussed by users of company’s products. A
common method to solve this problem is the use of topic modeling algorithms
Chauhan and Shah (2022); Grootendorst (2022). These methods generate cluster
of words from which a topic needs to be inferred; e.g., concatenation of top k
words. Sometimes top words may not be a good representation and human judgment
is needed. In other occasions, top words may overlap with other clusters. This
is often not very helpful in the business context if business users are
looking for specific topics (themes) and not dynamic topics (themes); e.g.,
specific insurance claim results, complains on call center agents’ attitude,
lack of follow up on customer complains, etc. Another way to solve the problem
of understanding common topics in large amount of data is through text
classification. However, this requires labeling of textual data for many
different topics. Usually manually labeling large amount of data is not
feasible. A pre-trained model can be fine-tuned on a smaller amount of
labelled data and then can be used to assign topics to textual artifacts Sun
et al. (2019). When a pre-trained language model is fine tuned on small
dataset, usually an additional layer is added on top of the pre-trained model
and parameters of this layer are updated using a standard training method of
neural classifier Sun et al. (2019). Although pre-trained models have
demonstrated their huge potentials in many academic test benchmarks Yang et
al. (2022), we note that in specialized domain, simple fine tuning of pre-
trained model on smaller domain-special datasets yields below par results.
This is possibly due to the fact that most pre-trained language models are
trained on generic corpus like Wikipedia and books Devlin et al. (2019); Liu
et al. (2019), and thus have seen few highly specialized terminology which
frequently occurs in industry applications.

In this paper, we focus on fine tuning a large pre-trained language model on
domain specific text, with limited amount of labelled data and large number of
topics, in the context of a very large multinational insurance company and a
financial institution. In this organization, a customer insight team sends out
surveys to customers who have contacted the company’s call centres in the past
for different issues. When the surveys are returned, customer insight team
runs predefined key word searches (or pattern based searches) using automated
tools to generate aggregated insights on surveys, such as identifying most
common issues of customers. The process is depicted in Fig 1. These insights
miss many potential customer issues because keyword searches have a problem of
vocabulary mismatch and unseen patterns of phrases are not captured.

Figure 1: Survey Analytic Modeling Process

Specifically, we discuss a method to fine-tune a language model on a smaller
insurance and financial domain specific dataset, assisted by a set of regular
expression based rules as auxiliary input. We first tag textual data (surveys)
using 27 different regular expressions (one regular expression per topic).
Second we convert these tags into embeddings and fine-tune the model using
both original text of surveys and regular expression based embeddings. Third,
we enter the original text into a pre-trained BERT encoder
111https://huggingface.co/bert-base-cased, and fuse the encoded text
representations with regex-based embeddings. Finally we fine-tune this model
on 379 human labelled surveys and our results show that it outperforms simple
method of fine-tuning by 20.75% in F-1 score (see Table 1) on real scenario
production dataset in specialized domains. Besides improvements on those
objective metrics, we also conducted user satisfaction study (described in
Section 4.4), which shows significant improvements compared against the old
system and confirms the effectiveness of our model when deployed into a
production application and evaluated by end users.

The main contribution of this paper is the demonstration of the use of a pre-
trained language model in financial domain using regular expression-based
embeddings alongside textual embeddings. This method is specially useful when
limited label dataset is available and which is the most common problem in
industry. This paper also demonstrates that the use of attention network
rather than linear layers is a better option. The rest of the paper discusses
related work, methodology, experimental setup, evaluation and conclusion.

##  2 Related Work

Topic classification, which aims to predict the topic label from a given text,
is a very important task in many NLP applications. Usually, topic
classification models could be roughly categorized into two types: non-neural
models and neural models. Non-neural models usually employ traditional
classifiers such as Naive-Bayes and SVM Wang and Manning (2012); Rubin et al.
(2012). Those non-neural models often rely on sparse features based on term
frequencies over the whole vocabulary space, which lacks the power to
generalize in semantic space. To address this issue, neural models attempt to
learn dense semantic representations from raw texts and then apply a softmax
classification layer to predict the topic label. For example Albatayha et al.
AlBatayha (2021) employs LSTM to learn the semantic representation of the
texts. In Peng et al. (2018), CNN is employed as the representation learning
component to build semantic representations.

Recently, the rapid development of pre-trained language models Devlin et al.
(2019); Yang et al. (2019); Lewis et al. (2020) have demonstrated their
potentials in many NLP tasks. The advantage of pre-trained language model lies
in the fact that the costly training of representations could be done off-line
in advance, and the end user only needs to fine-tune the pre-trained language
model together with the task-specific layers with much smaller datasets for
the downstream tasks. This idea is not new, and have been adopted in a few
studies: Ghourabi et al. Ghourabi (2021) utilizes BERT Devlin et al. (2019) as
the pre-trained language model and applies a dense layer to classify topics.
Liu et al. Liu et al. (2020) combines BERT and LSTM to conduct topic modeling
task.

Although those approaches based on pre-trained language models have
demonstrated their potentials, they were mostly applied and evaluated on
general domains such as social media, news articles and product reviews. In
fact, one of the biggest challenges for applying pre-trained language model on
topic classification is domain adaptation. Given a highly specialized domain
(finance and insurance in our case), and very little labeled data, it would be
hard to fine-tune the model effectively. Previous work tries to achieve domain
adaptation either by designing auxiliary fine-tuning structures on top of the
pre-trained language model Mozafari et al. (2019) or by re-training the pre-
trained language model on domain-specific corpus and then fine-tuning it with
classification layer Whang et al. (2020).

We argue that for highly specialized domains, a more effective domain
adaptation strategy is to exploit as much as possible the domain knowledge. In
fact, in those domain specific applications, there are often certain rules or
patterns which could help the model to detect the topic. One of the strategies
to extract and match those patterns from raw texts is to apply regular
expression. However, we observe that in the literature, there is still a gap
between the direct application of pattern extractors such as regular
expression and fine-tuning pre-trained language models for topic
classification. Therefore it is natural to raise the question: is it possible
to take advantage of the domain knowledge instilled in pattern extractors
during the fine-tuning process of a pre-trained language model? This study
investigates this research question in a financial domain in industrial
settings.

Our work is also related to weak supervision Mekala and Shang (2020);
Karamanolakis et al. (2021). However our approach is different from the weak
supervision framework in the following way: we don’t employ regular expression
to first generate weak label and then train the neural topic classification
model with those weak labels. Instead, we input the regular expression
generated features as an auxiliary input in parallel with the dense features
learned from BERT during fine-tuning to help the domain adaptation process.

##  3 Methodology

Figure 2: Model Structure Overview

Our methodology for fine tuning of a pre-trained BERT model is shown in Figure
2. First, we pass text surveys as sequences to a pre-trained BERT model and
extract the CLS representation vectors for text sequences Liu (2019) Devlin et
al. (2019) . Our CLS representation is actually a pooled representation that
is further processed by linear layer and Tanh activation function
111https://huggingface.co/transformers/v3.0.2/model_doc/bert.html#bertmodel.
This is a common approach used in the literature for the extraction of
contextual representation of a text sequence Chen et al. (2019). Second, we
use regular expressions (regex) based rules to assign each text survey a topic
feature. We have 27 regular expressions, one for each topic. Each survey can
have multiple topic features generated by regular expressions. We have a
minimum of zero and a maximum of seven topic features for our surveys. Regular
expressions are written by us with the help of finance and insurance domain
experts for call centers. We show the description of these regular expressions
in Table 4 in appendix. A problem with regular expressions is that they would
mistag if there is a slight variation of wordings in text. This means they
don’t generalize well on unseen data. We therefore convert these topic
features created by regular expressions into embeddings and decided to fuse it
with BERT-based representation of the text. Third, we concatenate BERT-based
embeddings with embeddings for topic features. We call this step fusion. We
concatenate all the topic embeddings assigned to text in previous step with
padding vectors where necessary before concatenating them further with BERT
embeddings for the corresponding text. Fourth, we pass this fused
representation of vectors to a transformer encoder with four attention-heads
to utilize the self-attention mechanism during fine-tuning Vaswani et al.
(2017). Fifth, we pass this to a two layer feed forward neural network with
ReLU activation on the first layer and 27 sigmoid units on the output layer.
We have framed this problem as a multi-label classification problem as each
text survey can have multiple topic labels. Finally, we fine tune this neural
network architecture on a small dataset. During inference time, we use this
model to predict 27 topics for a survey. If all predictions are below a
certain threshold, determined based on human judgement using test set, we mark
the topic as emerging topic (the 28th topic). Our experimental details are
further shown in the next section.

##  4 Experimental Setup

In this section, we will present in detail our experimental setup, model
configuration, evaluation results and discussions.

###  4.1 Dataset

In this study, we employ a private dataset collected through customer service
feedback survey. Each sample in this dataset contains a text snippet which is
the written feedback from a customer, and topic labels from a pre-defined set
of 27 topics. The distribution of these topic labels for train and test
dataset are listed in Table 5. Those topics cover Agent Communication, Agent
Service Quality, Audio Call Quality, Product Coverage, Claim Result, Ease-to-
use of the Website, etc. The dataset has in total 541 samples, and the average
length of the text is 47. We have manually labelled these 541 samples with the
help of domain experts.

###  4.2 Evaluation Metrics and Protocol

In order to determine the best hyper-parameter settings, we monitor the cross
entropy loss on the validation set during training. For the evaluation on
testset, we employ weighted F1 Score Mandl et al. (2019) as our evaluation
metrics, considering each of our targeting topics has an imbalanced
distribution. The calculation of the weighted F1 score is presented in
Equation 2. We first calculate the F1 score for each class $F_{1i}$. Second we
take the weighted average of class-specific F1 scores $F_{1i}$ to get the
weighted F1 score. The weight for each class $i$ is calculated based on the
support of the class $i$, as shown in the following equation.

$\displaystyle Weighted\\_F_{1}$ $\displaystyle=\sum_{i=1}^{K}w_{i}F_{1i}$ (1)
$\displaystyle w_{i}$
$\displaystyle=\frac{support_{i}}{\sum_{i=1}^{K}support_{i}}$ (2)

For the purpose of training, validation and evaluation of our proposed model,
we split the whole dataset into training and testing subsets with a ratio of
7:3. To simulate as much as possible the real use case, the test instances in
the test set was sampled according to the distribution of the real usage
scenario. It contains $127$ test instances which could be easily classified by
regular expressions, and another $35$ test instances which could not be
classified by regular expressions. This distribution is very close to the real
application data distribution that our business partner is dealing with in
their daily work.

###  4.3 Model Configurations

We set the max sequence length of the BERT tokenizer to be 250, and keep the
original BERT’s hidden layer size of 768. We employ the AdamW optimizer Zhuang
et al. (2022) and set the initial learning rate to be $2e-5$. During training,
the batch size is set to 8. The number of the regular expression generated
discrete features is 28, 27 topic features from regular expressions as shown
in Table 4 and one is no-topic if none of the regex matches the input text.
The number of self-attention heads in the feature fusion layer is set to 4. We
set the maximum number of training epochs to be 30.

We develop our model based on Pytorch111https://pytorch.org and Pytorch
Lightning222https://www.pytorchlightning.ai packages. The training and testing
was performed on Azure Machine Learning Platform
333https://azure.microsoft.com/en-ca/services/machine-learning/ with a cluster
of 6 cores CPU (112 GB RAM, 336 GB disk) and one NVIDIA Tesla V100 GPU.

###  4.4 Evaluation Results and Discussion

Table 1: Evaluation Results

Models | Input Channel1 (text) | Input Channel 2 (regex) | Fusion Layer | Precision | Recall | Weighted F1-score
---|---|---|---|---|---|---
1 | N/A | REGEX Generated Features | N/A | 0.76 | 0.54 | 0.58
2 | BERT MODEL | N/A | SelfAttention | 0.44 | 0.79 | 0.53
3 | BERT MODEL | RegexEmbeddingBag | SelfAttention | 0.44 | 0.79 | 0.55
4 | BERT MODEL | RegexEmbedding | Linear | 0.49 | 0.81 | 0.59
5 | BERT MODEL | RegexEmbedding | SelfAttention | 0.55 | 0.83 | 0.64

Evaluation Results: The evaluation results are presented in Table 1. Model 1
relies solely on regex expressions to classify topics and doesn’t have any
machine learning components. Model 2 relies solely on the BERT hidden
representation to classify topics and employs a self-attention layer before
the output layer. Those two models are our baselines to compare with. The
lower part of Table 1 shows the evaluation results of our main model and its
variants: Model 3 and Model 5 employ both the BERT hidden representation and
the regex generated embedding features as input sources. They differ in the
regex feature embedding transformations: The Model 3 employs a bagged
embedding transformation which average-pools all the regex embedding vectors,
whereas the Model 5 employs an ordinary embedding layer and concatenates all
the regex embeddings. Both of them employ a transformer-based self-attention
layer to fuse the BERT-learned representation and the regex-generated
embeddings. To study the effect on the choice of the fusion layer, we also
have Model 4 to be compared with Model 5, both of which share the same input
sources but differ in the fusion layer.

From Table 1, we first observe that under the best configuration, our Model 5
outperforms both baselines (Model 1 and Model 2) on weighted F1 score by large
margins. This validates our hypothesis that employing regex-generated features
is helpful for the fine-tuning process in financial domain. We observe
relative improvements 44footnotemark: 4 of $10.34\%$ and $20.75\%$ on weighted
F1-score of Model 5 over Model 1 and Model 2 respectively. This comparison
confirms that combining both BERT-learned representations and regex embeddings
are more advantageous than using either BERT representation or Regex features
alone.

Discussions: The Model 1 which employs solely regex to classify topics
performs poorly. This is possibly because regular expressions are only good at
catching exact matched patterns but lacks the power of generalization. If the
wording in user’s feedback slightly changes from our predefined regex rules,
this model may fail to classify this sample correctly. The Model 2 which
employs solely BERT-learned representations performs poorly as well. This is
possibly due to the fact that BERT-learned representations are very good at
capturing semantically related concepts but lacks the capability to identify
exact match. By combining both the semantic and regex features, our proposed
model could handle both the cases of exact matched rules and semantically
related concepts.

We also study the effect of choosing different fusion layers on classification
performance. In both Model 4 and Model 5, we combine BERT-learned semantic
representations and regex-generated features, but choose different fusion
layers: The Model 4 employs a simple linear transformation layer whereas the
Model 5 employs a self-attention layer. In Table 1, on a relative improvement
scale444relative improvement is calculated as (score_y - score_x) / score_x,
we observe that Model 5 outperformed Model 4 by $12.24\%$ on precision and
$8.47\%$ on weighted F1 score, and $2.47\%$ on recall score. This comparison
demonstrates that employing self-attention layer as fusion layer is more
effective than a simple linear layer, since self-attention heads could attend
more to the important features given the current context.

Case Study:

Table 2: Case Study Example

Survey Text |  Regex only (Model 1) |  BERT only (Model 2) |  Regex +BERT (Model 5) |  Ground Truth Labels
---|---|---|---|---
I would like to have my coverage details emailed to me which still was not done. There was no proof for the explanation provided by your agent. |  ‘Emerging Topic’ |  ‘Call Transfer’, ‘Called Multiple Times’, ‘Call Lack of Follow-ups’, ‘Unable to Resolve Issue’, ‘Claim Process’ |  ‘Call Lack of Follow-ups’ |  ‘Call Lack of Follow-ups’

To better showcase the advantage of our combined model over regex-only or
BERT-only models during fine-tuning, we present a test sample together with
the inference results of Model 1, Model 2, Model 5 and the ground truth labels
in Table 2. In this example the customer complains about the lack of follow-
ups after an insurance coverage inquiry. We can observe that the Regex-only
Model 1 could not classify it with any of the pre-defined 27 topics, and
outputs an ‘Emerging Topic’ as result. The BERT-only Model 2 over-generalizes
the semantics of the text and outputs many irrelevant topics other than the
correct one. When we combine regex-generated features and BERT-learned
representations during fine-tuning, our combination Model 5 outputs the
correct topic label without any over-generalization. This example demonstrates
that combining regex-generated features does help the fine-tuning process of a
pre-trained language model in our specialized domain. The overall performance
comparison of the regex-only, BERT-only and combined model is presented in
Table 1.

Production Deployment and User Feedback: To empower users to benefit from the
modeling result quickly and effectively and unearth actionable insights, we
develop an application which integrates the following processes in an end-to-
end pipeline: 1) Survey texts are automatically collected through third party
API and are cleaned up by the prepossessing script. 2) The classification
model described in Sec 3 takes as input the prepossessed survey and assign
topics to the text. 3) An automated connection to Elasticsearch
111https://www.elastic.co/ is established to push the predicted results to
Elastic Database. 4) Finally the prediction results are presented to users
through Kibana dashboard 222https://www.elastic.co/kibana/kibana-dashboard for
users to interact with the survey and predicted topics.

In order to evaluate the performance of our proposed regex-augmented BERT
model in the real production scenario, we design a questionnaire consisting of
6 questions, and ask the users to rate based on a scale of $1$ to $10$ for
each question. The questionnaire is presented in Table 3 in appendix. We
interviewed all end users with this questionnaire and asked them to rate the
model performance improvement of the regex-augmented BERT model over the
regex-only model in terms of topic coverage (recall), prediction precision,
and time savings. Our proposed regex-augmented BERT model, when put into
production and evaluated by users’ subjective feedback, improves in average
$40.00\%$ on user ratings for topic coverage , $58.33\%$ on user ratings for
prediction precision and $26.67\%$ on time savings over the previous regex-
only model according to user ratings. These significant improvements on user
evaluations demonstrate again the effectiveness of our proposed model, and
showcase that proposed model is indeed powerful in a real-life production
environment.

##  5 Conclusion and Future Work

In this paper, we demonstrated a fine tuning method of a pre-trained language
model in finance and insurance domain using features generated with regular
expression. Our experiment results demonstrated the effectiveness of involving
regular expression to boost the fine-tuning performance. We also learnt that
the use of attention network, like encoder transformer, can help boost the
performance of fine tuning compared to linear layers. We hope that this paper
could offer insights to community into the fine-tuning process of a pre-
trained language model with domain-specific data.

The limitation of our study is that we only used a small dataset to evaluate
our results in one specialized domain. Our results require validation on
different domains. In future, we plan to extend this work on other domains,
such as marketing and advertisement, and determine the effective methods to
fine tune a model. We also need to explore the use of other feature
engineering methods that can be combined in the fine tuning phase effectively.

## References

  * AlBatayha [2021] Duha AlBatayha.  Multi-topic labelling classification based on lstm.  In _2021 12th International Conference on Information and Communication Systems (ICICS)_ , pages 471–474. IEEE, 2021.
  * Chauhan and Shah [2022] Uttam Chauhan and Apurva Shah.  Topic modeling using latent dirichlet allocation: A survey.  _ACM Comput. Surv._ , 54(7):145:1–145:35, 2022\.
  * Chen et al. [2019] Deli Chen, Shuming Ma, Keiko Harimoto, Ruihan Bao, Qi Su, and Xu Sun.  Group, extract and aggregate: Summarizing a large amount of finance news for forex movement prediction.  _CoRR_ , abs/1910.05032, 2019.  URL http://arxiv.org/abs/1910.05032.
  * Devlin et al. [2019] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova.  BERT: pre-training of deep bidirectional transformers for language understanding.  In Jill Burstein, Christy Doran, and Thamar Solorio, editors, _Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2019, Minneapolis, MN, USA, June 2-7, 2019, Volume 1 (Long and Short Papers)_ , pages 4171–4186. Association for Computational Linguistics, 2019\.
  * Ghourabi [2021] Abdallah Ghourabi.  A bert-based system for multi-topic labeling of arabic content.  In _2021 12th International Conference on Information and Communication Systems (ICICS)_ , pages 486–489. IEEE, 2021.
  * Grootendorst [2022] Maarten Grootendorst.  Bertopic: Neural topic modeling with a class-based TF-IDF procedure.  _CoRR_ , abs/2203.05794, 2022.
  * Karamanolakis et al. [2021] Giannis Karamanolakis, Subhabrata Mukherjee, Guoqing Zheng, and Ahmed Hassan Awadallah.  Self-training with weak supervision.  In Kristina Toutanova, Anna Rumshisky, Luke Zettlemoyer, Dilek Hakkani-Tür, Iz Beltagy, Steven Bethard, Ryan Cotterell, Tanmoy Chakraborty, and Yichao Zhou, editors, _Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2021, Online, June 6-11, 2021_ , pages 845–863. Association for Computational Linguistics, 2021.
  * Lewis et al. [2020] Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Veselin Stoyanov, and Luke Zettlemoyer.  BART: denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension.  In Dan Jurafsky, Joyce Chai, Natalie Schluter, and Joel R. Tetreault, editors, _Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, ACL 2020, Online, July 5-10, 2020_ , pages 7871–7880. Association for Computational Linguistics, 2020.
  * Liu et al. [2020] Jingang Liu, Chunhe Xia, Xiaojian Li, Haihua Yan, and Tengteng Liu.  A bert-based ensemble model for chinese news topic prediction.  In _Proceedings of the 2020 2nd International Conference on Big Data Engineering_ , pages 18–23, 2020.
  * Liu [2019] Yang Liu.  Fine-tune BERT for extractive summarization.  _CoRR_ , abs/1903.10318, 2019.  URL http://arxiv.org/abs/1903.10318.
  * Liu et al. [2019] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov.  Roberta: A robustly optimized BERT pretraining approach.  _CoRR_ , abs/1907.11692, 2019.  URL http://arxiv.org/abs/1907.11692.
  * Mandl et al. [2019] Thomas Mandl, Sandip Modha, Prasenjit Majumder, Daksh Patel, Mohana Dave, Chintak Mandalia, and Aditya Patel.  Overview of the HASOC track at FIRE 2019: Hate speech and offensive content identification in indo-european languages.  In Prasenjit Majumder, Mandar Mitra, Surupendu Gangopadhyay, and Parth Mehta, editors, _FIRE ’19: Forum for Information Retrieval Evaluation, Kolkata, India, December, 2019_ , pages 14–17. ACM, 2019.
  * Mekala and Shang [2020] Dheeraj Mekala and Jingbo Shang.  Contextualized weak supervision for text classification.  In Dan Jurafsky, Joyce Chai, Natalie Schluter, and Joel R. Tetreault, editors, _Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, ACL 2020, Online, July 5-10, 2020_ , pages 323–333. Association for Computational Linguistics, 2020.
  * Mozafari et al. [2019] Marzieh Mozafari, Reza Farahbakhsh, and Noël Crespi.  A bert-based transfer learning approach for hate speech detection in online social media.  In Hocine Cherifi, Sabrina Gaito, José Fernendo Mendes, Esteban Moro, and Luis Mateus Rocha, editors, _Complex Networks and Their Applications VIII - Volume 1 Proceedings of the Eighth International Conference on Complex Networks and Their Applications COMPLEX NETWORKS 2019, Lisbon, Portugal, December 10-12, 2019_ , volume 881 of _Studies in Computational Intelligence_ , pages 928–940. Springer, 2019.
  * Peng et al. [2018] Hao Peng, Jianxin Li, Yu He, Yaopeng Liu, Mengjiao Bao, Lihong Wang, Yangqiu Song, and Qiang Yang.  Large-scale hierarchical text classification with recursively regularized deep graph-cnn.  In Pierre-Antoine Champin, Fabien Gandon, Mounia Lalmas, and Panagiotis G. Ipeirotis, editors, _Proceedings of the 2018 World Wide Web Conference on World Wide Web, WWW 2018, Lyon, France, April 23-27, 2018_ , pages 1063–1072. ACM, 2018.
  * Rubin et al. [2012] Timothy N. Rubin, America Chambers, Padhraic Smyth, and Mark Steyvers.  Statistical topic models for multi-label document classification.  _Mach. Learn._ , 88(1-2):157–208, 2012.
  * Sun et al. [2019] Chi Sun, Xipeng Qiu, Yige Xu, and Xuanjing Huang.  How to fine-tune BERT for text classification?  In Maosong Sun, Xuanjing Huang, Heng Ji, Zhiyuan Liu, and Yang Liu, editors, _Chinese Computational Linguistics - 18th China National Conference, CCL 2019, Kunming, China, October 18-20, 2019, Proceedings_ , volume 11856 of _Lecture Notes in Computer Science_ , pages 194–206. Springer, 2019.
  * Vaswani et al. [2017] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin.  Attention is all you need.  _CoRR_ , abs/1706.03762, 2017.  URL http://arxiv.org/abs/1706.03762.
  * Wang and Manning [2012] Sida Wang and Christopher D. Manning.  Baselines and bigrams: Simple, good sentiment and topic classification.  In _The 50th Annual Meeting of the Association for Computational Linguistics, Proceedings of the Conference, July 8-14, 2012, Jeju Island, Korea - Volume 2: Short Papers_ , pages 90–94. The Association for Computer Linguistics, 2012.
  * Whang et al. [2020] Taesun Whang, Dongyub Lee, Chanhee Lee, Kisu Yang, Dongsuk Oh, and Heuiseok Lim.  An effective domain adaptive post-training method for BERT in response selection.  In Helen Meng, Bo Xu, and Thomas Fang Zheng, editors, _Interspeech 2020, 21st Annual Conference of the International Speech Communication Association, Virtual Event, Shanghai, China, 25-29 October 2020_ , pages 1585–1589. ISCA, 2020.
  * Yang et al. [2022] Linyi Yang, Shuibai Zhang, Libo Qin, Yafu Li, Yidong Wang, Hanmeng Liu, Jindong Wang, Xing Xie, and Yue Zhang.  GLUE-X: evaluating natural language understanding models from an out-of-distribution generalization perspective.  _CoRR_ , abs/2211.08073, 2022.
  * Yang et al. [2019] Zhilin Yang, Zihang Dai, Yiming Yang, Jaime G. Carbonell, Ruslan Salakhutdinov, and Quoc V. Le.  Xlnet: Generalized autoregressive pretraining for language understanding.  In Hanna M. Wallach, Hugo Larochelle, Alina Beygelzimer, Florence d’Alché-Buc, Emily B. Fox, and Roman Garnett, editors, _Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, 8-14 December 2019, Vancouver, BC, Canada_ , pages 5754–5764, 2019.
  * Zhuang et al. [2022] Zhenxun Zhuang, Mingrui Liu, Ashok Cutkosky, and Francesco Orabona.  Understanding adamw through proximal methods and scale-freeness.  _CoRR_ , abs/2202.00089, 2022.  URL https://arxiv.org/abs/2202.00089.

##  Appendix A Appendix

Table 3: User Feedback Survey Questionnaire

Categories | No. | Questions
---|---|---
NPS360 old Regex Model (2019-2021) | 1 |  How satisfied are you with the generated topics’ coverage (recall) of NPS360 application with the older regex model?
2 |  How satisfied are you with the generated topics’ precision of NPS360 application with the older regex model?
3 |  How do you rate the time & effort savings through the usage of the NPS360 application’s older regex model?
NPS360 New Model (2022) | 4 |  How satisfied are you with the generated topics’ coverage (recall) of NPS360 application with the new model?
5 |  How satisfied are you with the generated topics’ precision of NPS360 application with the new model?
6 |  How do you rate the time & effort savings through the usage of the NPS360 application’s new model?

Table 4: Description of the regular expression functions

No. |  Regex Generated Feature |  Description of Regex Expression Function Used
---|---|---
1 |  Agent Communication |  If customer cannot understand the agent, language difficulty/barrier, if the agent cannot speak fluently
2 |  Agent Knowledge and Resolution Speed |  When the agent can/cannot provide accurate information/answers on what the customer asks, can/cannot provide info quickly
3 |  Offshore Agents |  Customers feedback about offshore service agents
4 |  Agent Service Attitude |  About the agents behaviour during the call
5 |  Agent Service Quality |  Overal service quality customer receives
6 |  Application Authentication |  Troubles with logging into the app, password reset and similar issues
7 |  Application Interface/Navigation |  Being or not being able to easily navigate the app and having a good/bad interface or experience while using the app
8 |  Audio Quality/Connection |  poor connections and customer unable to hear
9 |  Call Transfer |  call was transferred into other departments or multiple times
10 |  Called Multiple Times |  customer called multiple times
11 |  IVR |  phone prompt system or menu
12 |  Call Lack of follow-up |  customer service didn’t call back and follow up with customer
13 |  Language Barrier |  communication issue with the service agent
14 |  Unable to resolve issue |  call was not able to resolve the issue
15 |  Claims Online Submission |  if customer has issue on how to submit claims online
16 |  Claims Process |  claim processing time is too long
17 |  Claims Result |  claim decisions are declined or incorrect
18 |  Claims Status/Decision |  claim status or decisions
19 |  Claims Payment/Reimbursement |  claim payment and reimbursement status
20 |  Product Coverage/Policy |  customer checking coverage details or has concern on coverage amount
21 |  Portal Authentication |  Similar to app authentication but with respect to website/portal/site
22 |  Portal Computer Literacy |  Having knowledge on how to use computers, being or not being tech savvy
23 |  Portal Ease of use |  If the portal is easy to use for customer
24 |  Portal Information |  The website not having enough information on what the customer was searching for
25 |  Portal Interface/Navigation |  Trouble with the website interface itself if it is not user friendly or is user friendly
26 |  Portal Password |  Specific issues related to password, customer not being able to reset them or entering the password doesn’t work on the websites
27 |  Portal Stability/Loading Time |  Website crashes, loading time, down time or some kind of operational issues with the website

Table 5: Topic Labels Distribution

No. | Topic Labels | Train dataset label distribution | Test dataset label distribution
---|---|---|---
1 | Agent Communication | 28 (3.5%) | 12 (3.6%)
2 | Agent Knowledge and Resolution Speed | 47 (5.9%) | 34 (10.1%)
3 | Offshore Agents | 7 (0.9%) | 2 (0.6%)
4 | Agent Service Attitude | 65 (8.2%) | 33 (9.8%)
5 | Agent Service Quality | 53 (6.7%) | 41 (12.2%)
6 | Application Authentication | 25 (3.2%) | 7 (2.1%)
7 | Application Interface/Navigation | 17 (2.1%) | 4 (1.2%)
8 | Audio Quality/Connection | 27 (3.4%) | 13 (3.9%)
9 | Call Transfer | 26 (3.3%) | 7 (2.1%)
10 | Called Multiple Times | 31 (3.9%) | 12 (3.6%)
11 | IVR | 10 (1.3%) | 9 (2.7%)
12 | Call Lack of follow-up | 24 (3.0%) | 20 (6.0%)
13 | Language Barrier | 22 (2.8%) | 3 (0.9%)
14 | Unable to resolve issue | 29 (3.7%) | 13 (3.9%)
15 | Claims Online Submission | 22 (2.8%) | 11 (3.3%)
16 | Claims Process | 29 (3.7%) | 11 (3.3%)
17 | Claims Result | 34 (4.3%) | 7 (2.1%)
18 | Claims Status/Decision | 27 (3.4%) | 3 (0.9%)
19 | Claims Payment/Reimbursement | 27 (3.4%) | 5 (1.5%)
20 | Product Coverage/Policy | 20 (2.5%) | 7 (2.1%)
21 | Portal Authentication | 47 (5.9%) | 13 (3.9%)
22 | Portal Computer Literacy | 2 (0.3%) | 0 (0.0%)
23 | Portal Ease of use | 41 (5.2%) | 21 (6.3%)
24 | Portal Information | 27 (3.4%) | 11 (3.3%)
25 | Portal Interface/Navigation | 38 (4.8%) | 11 (3.3%)
26 | Portal Password | 39 (4.9%) | 14 (4.2%)
27 | Portal Stability/Loading Times | 29 (3.7%) | 12 (3.6%)


IEEEexample:BSTcontrol

# NeuroXplorer 1.0: A Fast and Extensible Framework for
Spiking Neural Network Simulation and Hardware Mapping

Adarsha Balaji<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Shihao Song<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Twisha Titirsha<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Anup Das<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Jeffrey L. Krichmar<EMAIL_ADDRESS>University of California,
IrvineIrvineCAUSA92697 ,  Nikil Dutt<EMAIL_ADDRESS>University of
California, IrvineIrvineCAUSA92697 ,  James Shackleford<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,  Nagarajan Kandasamy
<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 and  Francky Catthoor
<EMAIL_ADDRESS>ImecLeuvenBelgium3001

(2021)

# NeuroXplorer 1.0: An Extensible Framework for Functional Simulation and
Architectural Exploration with
Spiking Neural Network

Adarsha Balaji<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Shihao Song<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Twisha Titirsha<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Anup Das<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Jeffrey L. Krichmar<EMAIL_ADDRESS>University of California,
IrvineIrvineCAUSA92697 ,  Nikil Dutt<EMAIL_ADDRESS>University of
California, IrvineIrvineCAUSA92697 ,  James Shackleford<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,  Nagarajan Kandasamy
<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 and  Francky Catthoor
<EMAIL_ADDRESS>ImecLeuvenBelgium3001

(2021)

# NeuroXplorer 1.0: An Extensible Framework for Architectural Exploration with
Spiking Neural Networks

Adarsha Balaji<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Shihao Song<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Twisha Titirsha<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Anup Das<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,
Jeffrey L. Krichmar<EMAIL_ADDRESS>University of California,
IrvineIrvineCAUSA92697 ,  Nikil Dutt<EMAIL_ADDRESS>University of
California, IrvineIrvineCAUSA92697 ,  James Shackleford<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 ,  Nagarajan Kandasamy
<EMAIL_ADDRESS>Drexel UniversityPhiladelphiaPAUSA19104 and  Francky Catthoor
<EMAIL_ADDRESS>ImecLeuvenBelgium3001

(2021)

###### Abstract.

Recently, both industry and academia have proposed many different neuromorphic
architectures to execute applications that are designed with Spiking Neural
Network (SNN). Consequently, there is a growing need for an extensible
simulation framework that can perform architectural explorations with SNNs,
including both platform-based design of today’s hardware, and hardware-
software co-design and design-technology co-optimization of the future. We
present NeuroXplorer, a fast and extensible framework that is based on a
generalized template for modeling a neuromorphic architecture that can be
infused with the specific details of a given hardware and/or technology.
NeuroXplorer can perform both low-level cycle-accurate architectural
simulations and high-level analysis with data-flow abstractions.
NeuroXplorer’s optimization engine can incorporate hardware-oriented metrics
such as energy, throughput, and latency, as well as SNN-oriented metrics such
as inter-spike interval distortion and spike disorder, which directly impact
SNN performance. We demonstrate the architectural exploration capabilities of
NeuroXplorer through case studies with many state-of-the-art machine learning
models.

Spiking Neural Networks (SNN), Neuromorphic Computing, Non Volatile Memory
(NVM), Platform-Based Design, Hardware-Software Co-Design, Design-Technology
Co-Optimization

††copyright: acmcopyright††journalyear: 2021††doi:
10.1145/1122445.1122456††conference: ICONS ’18: ACM International Conference
on Neuromorphic Systems; July 27–29, 2021; Virtual Conference††booktitle:
ICONS ’21: ACM International Conference on Neuromorphic Systems, June 03–05,
2018, Virtual Conference††price: 15.00††isbn: 978-1-4503-XXXX-X/18/06††ccs:
Hardware Neural systems††ccs: Hardware Emerging languages and compilers††ccs:
Hardware Emerging tools and methodologies

##  1\. Introduction

The term neuromorphic computing was coined in the 90s to describe integrated
circuits that mimic the neuro-biological architecture of the central nervous
system (Mead, 1990). These circuits employ variants of integrate-and-fire
(I&F) neurons (Fusi and Mattia, 1999) as computational units and analog
weights as synaptic storage. I&F neurons use spikes to encode information,
where each spike is a voltage or current pulse in the physical world,
typically of ms duration (Maass, 1997). Recently, both industry and academia
have proposed many different neuromorphic platforms to execute applications
that are designed with Spiking Neural Network (SNN). Examples of such
platforms include SpiNNaker (Furber et al., 2014), Neurogrid (Benjamin et al.,
2014), TrueNorth (Debole et al., 2019), DYNAPs (Moradi et al., 2017), Tianji
(Shi et al., 2015), Loihi (Davies et al., 2018), and ODIN (Frenkel et al.,
2018), among others (Schuman et al., 2017).

Figure 1. High-level overview of NeuroXplorer. The framework supports the
following functionalities: 1) application quality exploration, 2) platform-
based design, 3) hardware-software co-design, and 4) design-technology co-
optimization.

To cope with the growing complexity of neuromorphic systems111The complexity
of a neuromorphic system can be expressed in terms of the number of neurons
and synapses, and their interconnection., challenges in integrating emerging
non-volatile memory technologies, and faster time-to-market pressure,
efficient design methodologies are needed (Balaji et al., 2019a). We highlight
the following three key concepts that are likely to address the design issues
postulated above.

  * •

Platform-based Design: In this design methodology, a hardware platform is
abstracted from its system software using the Application Programming
Interface (API), making the hardware and software development orthogonal to
allow more effective exploration of alternative solutions (Keutzer et al.,
2000). Platform-based design methodology facilitates the reuse of the system
software for many different hardware platforms.

  * •

Hardware-Software Co-design: In this design methodology, a hardware platform
and its system software are concurrently designed to exploit their synergism
in order to achieve system-level design objectives (De Michell and Gupta,
1997). The system software in this case is tailored for the hardware platform.

  * •

Design-Technology Co-optimization: In this design methodology, system-level
design metrics are applied to explore the choices in hardware design and
process technology to enable scaling at advanced technology nodes (Yeric et
al., 2013).

Consequently, there is a growing need for an extensible hardware simulator and
an application mapper that can perform architectural explorations with SNNs,
including platform-based design, hardware-software co-design, and design-
technology co-optimization. We present NeuroXplorer, a fast and extensible
framework that is based on a generalized template for modeling a neuromorphic
architecture that can be infused with the specific details of a given hardware
and/or technology.

NeuroXplorer is released under the permissive MIT open license and it provides
a user with the following high-level functionalities, which we will elaborate
in the following sections.

  * •

A design optimization engine that can incorporate hardware design metrics such
as energy, latency, throughput, and reliability, as well as SNN-oriented
metrics such as inter-spike interval distortion and spike disorder.

  * •

A generalized and optimized system software framework, facilitating mapping of
SNN-based applications to different neuromorphic hardware platforms.

  * •

A cycle-accurate model of neuromorphic hardware utilizing a generalized
template, which can be configured with hardware- and technology-specific
details from industrial and academic manufacturers of neuromorphic systems.

  * •

A design space exploration framework using data flow abstractions to represent
machine learning models for execution on neuromorphic hardware, allowing
estimation of key system-level performance metrics early in the system design
stage.

  * •

A framework to analyze different technological alternatives for neuron and
synapse circuits, and the impact of scaling in neuromorphic hardware,
facilitating optimization of key system-level design metrics.

In addition to these architecture-centric functionalities, NeuroXplorer also
facilitates functional simulations via SNN simulators such as CARLsim (Chou et
al., 2018), Brian (Goodman and Brette, 2009), NEST (Eppler et al., 2009), and
Neuron (Hines and Carnevale, 1997), supporting different degrees of neuro-
biological details and learning modalities. Thus, NeuroXplorer allows to
explore the design-space of application performance alongside architecture
development.

NeuroXplorer is developed over a period of five years and is supported by
three National Science Foundation research grants and one Department of Energy
grant from the United States, and one Horizon 2020 research grant from Europe.

##  2\. NeuroXplorer: High-Level Design

Figure 1 illustrates the key components of NeuroXplorer. At a high-level,
NeuroXplorer supports three layers of abstraction – the application layer, the
system software layer, and the hardware layer, similar to the abstractions in
a classical von-Neumann computing system. Internally, the system software
layer is divided into a design-time or compile-time methodology, where a
machine learning model is converted into an intermediate form for mapping to a
specific neuromorphic hardware, and a run-time methodology, which allocates
hardware resources to admit and execute the model on the hardware.
NeuroXplorer can work with both Artificial Neural Networks (ANNs) and biology-
inspired Spiking Neural Networks (SNNs). NeuroXplorer interfaces with ANN
workloads that are specified in high-level frameworks such as Keras with
TensorFlow backend (Gulli and Pal, 2017; Abadi et al., 2016) and PyTorch
(Paszke et al., 2019). To map an ANN workload to an event-driven neuromorphic
hardware, the workload is first converted to an SNN using the SNN Conversion
unit and then, the SNN is simulated using the SNN Simulation unit of
NeuroXplorer.

SNN workloads can be specified in PyNN (Davison et al., 2009), which is a
Python interface to many SNN simulators such as CARLsim (Chou et al., 2018),
Brian (Goodman and Brette, 2009), NEST (Eppler et al., 2009), and Neuron
(Hines and Carnevale, 1997). These simulators model neural functions at
various levels of detail and therefore have different requirements for
computational resources. User can also specify an SNN model directly using
these simulators. NeuroXplorer allows exploration of application quality using
these simulators.

NeuroXplorer incorporates the spike timing information obtained from
simulating an SNN model with representative training data. Such information is
used to map the model to the neuromorphic hardware using the system-software
framework, which consists of Workload Decomposition, Model Clustering, Cluster
Mapping, and Runtime Management units.

Without loss of generality, we describe NeuroXplorer where ANN workloads are
specified using Keras and SNN workloads using a combination of PyNN and PyCARL
(Balaji et al., 2020a), a Python wrapper for SNN simulations using CARLsim.
Additionally, we use our previously proposed SNN converter (Balaji et al.,
2018) for SNN conversion of ANN workloads in order to map them to hardware.
NeuroXplorer can be trivially extended to work with other SNN simulation tools
such as GeNN (Yavuz et al., 2016) and Spyketorch (Mozafari et al., 2019), and
with other SNN conversion approaches such as (Midya et al., 2019; Rueckauer et
al., 2016; Rueckauer and Liu, 2018).

Figure 1 illustrates the three design methodologies supported by NeuroXplorer
– 1) platform-based design, 2) hardware-software co-design, and 3) design-
technology co-optimization. We have used NeuroXplorer to optimize for system-
level design metrics, including energy (Das et al., 2018a; Balaji et al.,
2020b; Titirsha et al., 2021a), latency (Das and Kumar, 2018; Balaji and Das,
2019), throughput (Song et al., 2020a), resource utilization (Balaji et al.,
2020c; Balaji and Das, 2020), circuit aging (Balaji et al., 2019b; Song et
al., 2020b; Song and Das, 2020a; Kundu et al., 2021), and endurance (Titirsha
and Das, 2020a, b; Titirsha et al., 2021b).

##  3\. Detailed Design of System Software

We now detail the system software of NeuroXplorer.

###  3.1. Platform Description

We consider a tile-based neuromorphic hardware as shown in Figure 2a. Each
tile consists of a neuromorphic core, which can accommodate a certain number
of neurons and synapses. A common approach to implementing a neuromorphic core
is one where the synaptic cells are organized in a two-dimensional grid, known
as crossbar. We illustrate a crossbar in Figure 2b.222Although NeuroXplorer
provides a generalized template for crossbar-based neuromorphic tiles,
NeuroXplorer can be easily extended to support many different types of
processing elements such as (Qiao et al., 2015; Ma et al., 2017).

(a) A tile-based neuromorphic hardware (Catthoor et al., 2018). A tile
communicates spikes via the network switches (S) using a shared interconnect
such as Networks-on-chip (NoC) (Liu et al., 2018) and Segmented Bus (Balaji et
al., 2019c).  (b) A crossbar architecture. Spikes are encoded into Address
Event Representation (AER). A crossbar peripheral circuitry consists of AER
encoder and decoder.

Figure 2. A running example of a tile-based neuromorphic hardware. Each tile
contains a neuromorphic core, which in its simplest form can be a crossbar.

Typically, system designers limit the size of a crossbar to reduce energy
consumption 333Energy consumption in a crossbar scales proportional to
$M^{2}$, where $M$ is the input/output dimension of a crossbar. and mitigate
the high parasitic voltage drops within a crossbar (see Figure 12). Therefore,
a large machine learning model must be partitioned into local synapses, those
that map within the crossbar of a tile, and global synapses, those that map on
the shared interconnect (Das et al., 2018a). To effectively address this
partitioning, NeuroXplorer’s system software performs the following four key
functionalities to map a machine learning workload to the hardware: workload
decomposition, model clustering, cluster mapping, and runtime. We now describe
these functions.

###  3.2. Workload Decomposition

We note that each $N\times N$ crossbar in a tile can accommodate up to $N$
pre-synaptic connections per post-synaptic neuron, with typical value of $N$
set between 128 (in DYNAPs) and 256 (in TrueNorth). Figure 3 illustrates an
example of mapping a) one 4-input, b) one 3-input, and c) two 2-input neurons
on a $4\times 4$ crossbar. Unfortunately, neurons with more than 4 pre-
synaptic connections per post-synaptic neuron cannot be mapped to this
crossbar.

Figure 3. Example mapping of a) one 4-input, b) one 3-input, and c) two
2-input neurons to a $4\times 4$ crossbar.

We take the example architecture of DYNAPs, where each crossbar can
accommodate a maximum of 128 pre-synaptic connections. In many complex machine
learning models such as LeNet, AlexNet, VGG, ResNet, and DenseNet, the number
of pre-synaptic connections per post-synaptic neuron is much higher than what
a crossbar in DYNAPs can accommodate.

To address this resource limitation, we have previously proposed workload
decomposition, which exploits the firing principle of LIF neurons, decomposing
each neuron with many pre-synaptic connections into a sequence of homogeneous
fanin-of-two (FIT) neural units (Balaji et al., 2020c). Figure 4 illustrates
the spatial decomposition using a small example of a 3-input neuron shown in
Figure 4(a). We consider the mapping of this neuron to 2x2 crossbars. Since
each crossbar can accommodate a maximum of two pre-synaptic connections per
neuron, the example 3-input neuron cannot be mapped to the crossbar directly.
The most common solution is to eliminate a synaptic connection, which may lead
to accuracy loss. Figure 4(b) illustrates the decomposition mechanism, where
the 3-input neuron is implemented using two FIT neural units connected in
sequence as shown in Figure 4(b). Each FIT unit is similar to a 2-input neuron
and it exploits the leaky integrate behavior in hardware to maintain the
functional equivalence between Figures 4(a) and 4(b). Finally, Figure 4(c)
illustrates the mapping of the decomposed neuron utilizing two 2x2 crossbars.
The functionality of the FIT neural units is implemented using the synaptic
cells of the two crossbars.

Figure 4. Illustrating the decomposition of a 3-input neuron (a) to a sequence
of FIT neural units (b). The mapping of the FIT units to two 2x2 crossbars is
shown in (c).

Workload decomposition is an optional function in NeuroXplorer. If this
function is disabled, a machine learning model is directly fed to the
clustering step. In this case, some of the pre-synaptic connections may need
to be eliminated to fit onto a crossbar, which could potentially lead to
accuracy loss.

###  3.3. Model Clustering

In the model clustering step, a large and complex machine learning model is
partitioned into clusters, where each cluster consists of a fraction of the
neurons and synapses of the original model that can fit onto the resources of
a neuromorphic core.

Figure 5 illustrates an SNN partitioned into three clusters A, B, and C. The
number of spikes communicated between a pair of neurons is indicated on its
synapse. We indicate the local synapses (those that are within each cluster)
in black and the global ones (those that are between clusters) in blue in this
figure.

Figure 5. An SNN partitioned into three clusters.

The SNN partitioning problem is essentially a graph partitioning problem,
which is NP-complete. Therefore, heuristics are typically used to find
solutions. NeuroXplorer currently supports two heuristics – Particle Swarm
Optimization (PSO) (Kennedy and Eberhart, 1995) and Kernighan-Lin Graph
Partitioning algorithm (Kernighan and Lin, 1970). NeuroXplorer uses these
heuristics to minimize 1) the number of clusters (as in (Balaji et al.,
2020c)), which reduces the hardware requirement, and 2) the number of inter-
cluster spikes (as in (Das et al., 2018a; Balaji et al., 2020b)), which
reduces both energy and latency when the machine learning model is mapped to
hardware. NeuroXplorer can be easily extended to use other heuristics such as
Hill Climbing (Selman and Gomes, 2006) and Simulated Annealing (Van Laarhoven
and Aarts, 1987), as well as other optimization objectives such as application
quality and hardware reliability.

(a) VGG Convolution Neural Network (CNN). (b) First 10 clusters of VGG
generated using (Balaji et al., 2020b).

Figure 6. Trained VGG model and its clusters generated using model
partitioning tool such as SpiNeMap (Balaji et al., 2020b).

Figure 6a shows the architecture of VGG for CIFAR-10 classification. Figure 6b
shows the first 10 clusters generated using SpiNeMap (Balaji et al.,
2020b).444SpiNeMap (Balaji et al., 2020b) generates 95,452 clusters from the
VGG model trained on CIFAR-10 dataset. For simplicity, we illustrate only the
first 10 clusters and their interconnection. The figure illustrates the
connections between these clusters, with the number on edge representing the
average number of spikes communicated between the source and destination
clusters when processing an image during inference. The inter-cluster links
are the global synapses for mapping purposes.

###  3.4. Cluster Mapping

The cluster mapping step of NeuroXplorer is used to reserve computing
resources of the hardware for a given machine learning model and execute the
model by placing its clusters onto the physical cores. Figure 7b illustrates
the placement of a clustered SNN of Figure 7a to a neuromorphic hardware with
9 cores organized in a mesh architecture. The position of each core in the
hardware is specified by a pair of Cartesian coordinates. In this example,
cluster A is placed at coordinate (1,1), cluster B at (0,0), and cluster C at
(2,2). All spikes between A and B, and between A and C are communicated via
two interconnect segments and one hop, while all spikes between B and C are
communicated via four interconnect segments and three hops. Clearly, the
latency and energy on the shared interconnect depends on the placement of the
clusters on the physical cores located in the Cartesian coordinate system.

(a) An example clustered SNN with three clusters – A, B, and C. (b) An example
placement of the three clusters to a mesh architecture. The three different
colors (orange, blue, and green) indicate the the distance (in hops) spikes
travel in the mesh architecture between source and destination clusters.

Figure 7. Example of mapping a clustered SNN on a mesh architecture.

NeuroXplorer uses an instance of PSO to optimize the placement of clusters of
a machine learning model to the physical cores of the hardware, improving both
latency and energy consumption. The placement solution of NeuroXplorer aims to
place the clusters that communicate the most to nearby cores. NeuroXplorer can
be extended to use other placement heuristics.

###  3.5. Runtime Manager

To illustrate the significance of a run-time manager, Figure 8 plots the spike
firing rate of 100 randomly-selected neurons in AlexNet (Krizhevsky et al.,
2012), a state-of-the-art CNN used for Imagenet classification. We report
results for two randomly-selected training and test images.

Figure 8. Spike rate of 100 randomly-selected neurons in AlexNet for 2
training images and 2 test images.

We observe that spike firing rates of neurons depend on the image presented to
the AlexNet CNN. Therefore, energy and reliability improvement strategies
based on design-time analysis with training examples may not be optimal when
they are applied at run-time to process in-field data. Therefore, in addition
to cluster placement when admitting a machine learning model to hardware,
NeuroXplorer also supports monitoring key performance statistics collected
from the hardware during model execution. Such statistics can uncover
bottlenecks, allowing improving system-level metrics such as energy (Balaji et
al., 2020d) and circuit aging (Balaji et al., 2019b; Song et al., 2021a)
through remapping of the neurons and synapses to the hardware.

##  4\. Detailed Design of Neuromorphic Hardware Simulator

Figure 9 shows the high-level overview of the proposed neuromorphic hardware
simulator, which facilitates cycle-accurate simulation of the interconnect and
the processing tiles. Each tile models 1) a processing element, which is a
neuromorphic core, 2) a router for routing spike AER packets on the shared
interconnect, 3) a local memory to store cluster parameters, 4) buffer space
for spike packets, and 5) AER encoder and decoder. NeuroXplorer’s hardware
simulator can perform exploration with transistor technologies such as CMOS
and FinFET that are used for the neurons and the peripheral circuitry in each
tile, and Non-Volatile Memory (NVM) technologies such as Phase-Change Memory
(PCM) (Burr et al., 2017), Oxide-Based Resistive Random Access Memory (OxRRAM)
(Mallik et al., 2017), Ferroelectric RAM (FeRAM) (Mulaosmanovic et al., 2017),
and Spin-Transfer Torque Magnetic or Spin-Orbit-Torque RAM (STT/ SoT-MRAM)
(Vincent et al., 2015) used for synaptic weight storage.555Beside neuromorphic
computing, NVMs are also used as main memory in conventional computers to
improve performance and energy efficiency (Song et al., 2019, 2020c, 2020d,
2021b; Song and Das, 2020b). We now describe the simulator.

Figure 9. Architecture simulator of NeuroXplorer.

###  4.1. Cycle-Accurate Interconnect Simulator

Figure 10 illustrates the internal architecture of the interconnect (global
synapse) simulator of NeuroXplorer in UML convention. Key components of this
simulator are the following

  * •

Spike Routing Strategy: This is the generalization class of the following
routing strategies: Dyad, Negative First, North Last, Odd Even, Table-based,
West-First, and XY.

  * •

Spike Traffic Model: This is the generalization class of the following traffic
models: Random, Transpose Matrix, Bit-Reversal, Butterfly, Shuffle, and Table-
based.

  * •

Configuration Manager: This is the generalization class for loading simulator
parameters such as network topology, network size, traffic type, routing
strategy, and simulation time.

Figure 10. Class diagram of NeuroXplorer’s hardware simulator using UML
convention.

Figure 11 shows the capabilities of the hardware simulator of NeuroXplorer.
For example, when changing the network topology, the user can select between
the three interconnect types: Mesh, Segmented bus, and Two-stage NoC. The user
can also input spike traffic generated from the application-level simulator at
the frontend of NeuroXplorer to run hardware network simulation.

Figure 11. Use-case diagram of the hardware simulator of NeuroXplorer.

###  4.2. Cycle-Accurate Tile Simulator

On the computing tile front, NeuroXplorer supports detailed model of crossbars
with PCM and OxRRAM-based synaptic cells. Figure 12 shows the detailed circuit
model of a crossbar in NeuroXplorer with all of its parasitic components. Such
parasitic components cause variable delays on the current paths inside the
crossbar. For simplicity, we have only shown the current on the shortest and
the longest paths in the crossbar, where the length of a current path is
measured in terms of the number of parasitic elements on the path. Therefore,
spike propagation delay through synapses on longer paths is higher than on
shorter paths. NeuroXplorer allows estimating these delays for a given process
technology node.

Figure 12. Detailed model of a crossbar in NeuroXplorer.

Table 1 shows the template for specifying the parasitic components in
NeuroXplorer for a specific technology node.

Table 1. Generalized template for specifying the parasitic components of a crossbar in NeuroXplorer. $R_{wl}$ |  unit wordline resistance
---|---
$R_{bl}$ |  unit bitline resistance
$C_{wl}$ |  unit wordline capacitance
$C_{bl}$ |  unit bitline capacitance
$C_{wl-wl}$ |  unit wordline to wordline capacitance
$C_{wl-bl}$ |  unit wordline to bitline capacitance
$C_{bl-bl}$ |  unit bitline to bitline capacitance

On the technology front, we briefly discuss the OxRRAM technology, as an
instance of a technology that can be used for the synaptic cell. An RRAM cell
is composed of an insulating film sandwiched between conducting electrodes
forming a metal-insulator-metal (MIM) structure (see Figure 13). Recently,
filament-based metal-oxide RRAM implemented with transition-metal-oxides such
as HfO2, ZrO2, and TiO2 has received considerable attention due to their low-
power and CMOS-compatible scaling. Synaptic weights are represented as
conductance of the insulating layer within each RRAM cell. To program an RRAM
cell, elevated voltages are applied at the top and bottom electrodes, which
re-arranges the atomic structure of the insulating layer. Figure 13 shows the
High-Resistance State (HRS) and the Low-Resistance State (LRS) of an RRAM
cell. In NeuroXplorer, the RRAM cell can also be programmed into intermediate
low-resistance states, allowing its multilevel operations. For instance, to
implement two bits per synapse we can program the RRAM cell for one HRS and
three LRS states.

Figure 13. Operation of an RRAM cell with the $\text{HfO}_{2}$ layer
sandwiched between the metals Ti (top electrode) and TiN (bottom electrode).
The left subfigure shows the formation of LRS states with the formation of
conducting filament (CF). This represents logic states 01, 10, and 11. The
right subfigure shows the depletion of CF on application of a negative voltage
on the TE. This represents the HRS state or logic 00.

NeuroXplorer also supports implementing many variants of Integrate & Fire
(I&F) neuron. Table 2 provides the template for specifying the parameters for
a neuron and synaptic cell in a crossbar.

Table 2. Generalized template for specifying the parameters of a neuron and synaptic cell in NeuroXplorer. Neuron technology |  CMOS or FinFET
---|---
Technology node |  65nm, 45nm, 32nm, and 16nm
Supply voltage |  1.0V
Energy per spike |  50pJ at 30Hz spike frequency
Synapse technology |  OxRRAAM or PCM
Access device |  Diode or FET or NMOS
Resistance states |  1-bit/synapse or 2-bit/synapse

The generalized template of Tables 1 and 2 can be infused with the specific
details of a present-day neuromorphic chip and evaluate the impact of
technology scaling on system-level metrics such as energy, latency, and
reliability. We now present the evaluation of NeuroXplorer by configuring it
with the parameters of the DYNAPs neuromorphic hardware (Moradi et al., 2017)
at 45nm node with 2-bit synapses implemented using OxRRAM-based 1T1R cells.

##  5\. Evaluation of NeuroXplorer

Recently, SNNs are used to improve the quality of machine learning
applications (Das et al., 2018b; Moyer and Das, 2020; Smith et al., 2020;
Hamilton et al., 2020). We select 10 machine learning programs which are
representative of three most commonly-used neural network classes:
convolutional neural network (CNN), multi-layer perceptron (MLP), and
recurrent neural network (RNN). Table 3 summarizes the topology, the number of
neurons and synapses, the number of spikes per image, and the baseline
accuracy of these applications on the DYNAPs neuromorphic hardware.

Table 3. Applications used to evaluate NeuroXplorer. Class | Applications | Dataset | Neurons | Synapses | Avg. Spikes/Frame | Accuracy
---|---|---|---|---|---|---
CNN | LeNet | MNIST | 23,687 | 275,110 | 724,565 | 85.1%
DenseNet | CIFAR-10 | 17,450 | 198,470 | 1,250,976 | 42.8%
AlexNet | ImageNet | 259,604 | 3,873,222 | 7,055,109 | 69.8%
ResNet | CIFAR-10 | 267,488 | 35,391,616 | 7,339,322 | 57.4%
VGG | ImageNet | 623,635 | 12,215,209 | 12,826,673 | 90.7 %
HeartClass (Das et al., 2018c) | Physionet | 170,292 | 1,049,249 | 2,771,634 | 63.7%
MLP | MLPDigit | MNIST | 894 | 79,400 | 26,563 | 91.6%
EdgeDet (Chou et al., 2018) | CARLsim | 7,268 | 114,057 | 248,603 | 100%
ImgSmooth (Chou et al., 2018) | CARLsim | 5,120 | 9,025 | 174,872 | 100%
RNN | RNNDigit (Diehl and Cook, 2015) | MNIST | 1,191 | 11,442 | 30,508 | 83.6%

We evaluate the following three configurations of NeuroXplorer.

  * •

PyCARL (Balaji et al., 2020a): This is our default configuration, where a
machine learning model is clustered arbitrarily. Clusters are also mapped
arbitrarily to the crossbars of a hardware.

  * •

SpiNeMap (Balaji et al., 2020b): In this configuration, NeuroXplorer clusters
a machine learning model to minimize the inter-cluster spike communication.
Clusters are mapped to the crossbars to reduce energy consumption on the
shared interconnect.

  * •

DecomposedSNN (Balaji et al., 2020c): In this configuration, NeuroXplorer
decomposes a machine learning model to pack its neurons and synapses densely
into each crossbar. The clusters are mapped to the crossbars to reduce spike
latency and energy consumption on the shared interconnect.

###  5.1. Software Exploration: Cluster Count

Figure 14 plots the cluster count for each evaluated application for three
different configurations of NeuroXplorer, normalized to PyCARL. For reference,
the number of clusters obtained using PyCARL is indicated for each
application. We observe that different configurations of NeuroXplorer lead to
different cluster counts. DecomposedSNN, which maximizes the neuron and
synapse utilization within each cluster, generates the lowest cluster count
(44.5% lower than PyCARL and 50.1% lower than SpiNeMap).

Figure 14. Cluster count using NeuroXplorer.

###  5.2. Software Exploration: Spike Count

Figure 15 plots the total number of spikes on the shared interconnect (called
global spikes) for each evaluated application for three different
configurations of NeuroXplorer, normalized to PyCARL. We observe that SpiNeMap
has the lowest number of global spikes (6% lower than PyCARL and 34% lower
than DecomposedSNN), which reduces both spike latency and communication energy
due to reduction of the congestion on the interconnect.

Figure 15. Global spikes using NeuroXplorer.

###  5.3. Hardware Exploration: Energy and ISI

Figure 16 and 17 plot respectively, the communication energy and inter-spike
interval (ISI) of each evaluated application using four NoC routing techniques
of NeuroXplorer normalized to XY routing. For reference, the communication
energy and ISI at 45nm technology node with XY routing is also indicated.

Figure 16. Communication energy using NeuroXplorer.

Figure 17. Inter-spike interval (ISI) using NeuroXplorer.

###  5.4. Technology Exploration: Inference Lifetime

Non-Volatile Memories (NVMs) suffer from read endurance problem, where an NVM
cell can switch its state upon repeated access. Therefore, the programmed
synaptic weights of the NVM cells in a neuromorphic hardware needs to
reprogrammed periodically. To this end, inference lifetime refers to how many
images can be successfully inferred using the hardware before reprogramming of
the synaptic weights becomes necessary. Figure 18 plots the impact of
technology scaling on the inference lifetime of a neuromorphic hardware. At
scaled nodes, the read endurance of NVMs reduces, which lowers the inference
lifetime.

Figure 18. Technology exploration using NeuroXplorer.

##  6\. Conclusions

We propose NeuroXplorer, an extensible framework for architectural exploration
with Spiking Neural Networks (SNN). NeuroXplorer is based on a generalized
template and can be infused with specific details of a neuromorphic hardware
and technology. NeuroXplorer can perform platform-based design, hardware-
software co-design, and design-technology co-optimization, enabling system
designers to explore a variety of both application as well as platform design
configurations to meet the needs of emerging workloads as well as newer design
technologies. In addition to these architecture-centric functionalities,
NeuroXplorer also facilitates functional simulations via SNN simulators
supporting different degrees of neuro-biological details and learning
modalities, allowing exploration of application quality.

## References

  * Abadi et al. (2016) M. Abadi _et al._ , “Tensorflow: A system for large-scale machine learning,” in _OSDI_ , 2016.
  * Balaji and Das (2020) A. Balaji _et al._ , “Compiling spiking neural networks to mitigate neuromorphic hardware constraints”,” in _IGSC Workshops_ , 2020.
  * Balaji and Das (2019) A. Balaji _et al._ , “A framework for the analysis of throughput-constraints of SNNs on neuromorphic hardware,” in _ISVLSI_ , 2019.
  * Balaji et al. (2018) A. Balaji _et al._ , “Power-accuracy trade-offs for heartbeat classification on neural networks hardware,” _JOLPE_ , 2018.
  * Balaji et al. (2019b) A. Balaji _et al._ , “A framework to explore workload-specific performance and lifetime trade-offs in neuromorphic computing,” _CAL_ , 2019.
  * Balaji et al. (2019a) A. Balaji _et al._ , “Design methodology for embedded approximate artificial neural networks,” in _GLSVLSI_ , 2019.
  * Balaji et al. (2019c) A. Balaji _et al._ , “Exploration of segmented bus as scalable global interconnect for neuromorphic computing,” in _GLSVLSI_ , 2019.
  * Balaji et al. (2020a) A. Balaji _et al._ , “PyCARL: A PyNN interface for hardware-software co-simulation of spiking neural network,” in _IJCNN_ , 2020.
  * Balaji et al. (2020b) A. Balaji _et al._ , “Mapping spiking neural networks to neuromorphic hardware,” _TVLSI_ , 2020.
  * Balaji et al. (2020d) A. Balaji _et al._ , “Run-time mapping of spiking neural networks to neuromorphic hardware,” _JSPS_ , 2020.
  * Balaji et al. (2020c) A. Balaji _et al._ , “Enabling resource-aware mapping of spiking neural networks via spatial decomposition,” _ESL_ , 2020.
  * Benjamin et al. (2014) B. V. Benjamin _et al._ , “Neurogrid: A mixed-analog-digital multichip system for large-scale neural simulations,” _Proceedings of the IEEE_ , 2014\.
  * Burr et al. (2017) G. W. Burr _et al._ , “Neuromorphic computing using non-volatile memory,” _Advances in Physics: X_ , 2017.
  * Catthoor et al. (2018) F. Catthoor _et al._ , “Very large-scale neuromorphic systems for biological signal processing,” in _CMOS Circuits for Biological Sensing and Processing_ , 2018.
  * Chou et al. (2018) T. Chou _et al._ , “CARLsim 4: An open source library for large scale, biologically detailed spiking neural network simulation using heterogeneous clusters,” in _IJCNN_ , 2018.
  * Das et al. (2018b) A. Das _et al._ , “Unsupervised heart-rate estimation in wearables with Liquid states and a probabilistic readout,” _Neural Networks_ , 2018.
  * Das and Kumar (2018) A. Das _et al._ , “Dataflow-based mapping of spiking neural networks on neuromorphic hardware,” in _GLSVLSI_ , 2018.
  * Das et al. (2018c) A. Das _et al._ , “Heartbeat classification in wearables using multi-layer perceptron and time-frequency joint distribution of ECG,” in _CHASE_ , 2018\.
  * Das et al. (2018a) A. Das _et al._ , “Mapping of local and global synapses on spiking neuromorphic hardware,” in _DATE_ , 2018.
  * Davies et al. (2018) M. Davies _et al._ , “Loihi: A neuromorphic manycore processor with on-chip learning,” _IEEE Micro_ , 2018.
  * Davison et al. (2009) A. P. Davison _et al._ , “PyNN: a common interface for neuronal network simulators,” _Frontiers in Neuroinformatics_ , 2009.
  * De Michell and Gupta (1997) G. De Michell _et al._ , “Hardware/software co-design,” _Proceedings of the IEEE_ , 1997.
  * Debole et al. (2019) M. V. Debole _et al._ , “TrueNorth: Accelerating from zero to 64 million neurons in 10 years,” _Computer_ , 2019.
  * Diehl and Cook (2015) P. Diehl _et al._ , “Unsupervised learning of digit recognition using spike-timing-dependent plasticity,” _Front. in Comp. Neuroscience_ , 2015\.
  * Eppler et al. (2009) J. M. Eppler _et al._ , “Pynest: a convenient interface to the nest simulator,” _Frontiers in Neuroinformatics_ , 2009.
  * Frenkel et al. (2018) C. Frenkel _et al._ , “A 0.086-mm2 12.7-pj/sop 64k-synapse 256-neuron online-learning digital spiking neuromorphic processor in 28-nm CMOS,” _TBCAS_ , 2018.
  * Furber et al. (2014) S. B. Furber _et al._ , “The SpiNNaker project,” _Proceedings of the IEEE_ , 2014.
  * Fusi and Mattia (1999) S. Fusi _et al._ , “Collective behavior of networks with linear (vlsi) integrate-and-fire neurons,” _Neural Computation_ , 1999.
  * Goodman and Brette (2009) D. F. Goodman _et al._ , “The brian simulator,” _Frontiers in Neuroscience_ , 2009.
  * Gulli and Pal (2017) A. Gulli _et al._ , _Deep learning with Keras_ , 2017.
  * Hamilton et al. (2020) K. Hamilton _et al._ , “Modeling epidemic spread with spike-based models,” in _ICONS_ , 2020.
  * Hines and Carnevale (1997) M. L. Hines _et al._ , “The NEURON simulation environment,” _Neural Computation_ , 1997.
  * Kennedy and Eberhart (1995) J. Kennedy _et al._ , “Particle swarm optimization,” in _ICNN_ , 1995\.
  * Kernighan and Lin (1970) B. W. Kernighan _et al._ , “An efficient heuristic procedure for partitioning graphs,” _Bell System Technical Journal_ , 1970.
  * Keutzer et al. (2000) K. Keutzer _et al._ , “System-level design: Orthogonalization of concerns and platform-based design,” _TCAD_ , 2000.
  * Krizhevsky et al. (2012) A. Krizhevsky _et al._ , “Imagenet classification with deep convolutional neural networks,” in _Advances in neural information processing systems (NeurIPS)_ , 2012.
  * Kundu et al. (2021) S. Kundu _et al._ , “Special session: Reliability analysis for ML/AI hardware,” in _VTS_ , 2021.
  * Liu et al. (2018) X. Liu _et al._ , “Neu-NoC: A high-efficient interconnection network for accelerated neuromorphic systems,” in _ASP-DAC_ , 2018.
  * Ma et al. (2017) D. Ma _et al._ , “Darwin: A neuromorphic hardware co-processor based on spiking neural networks,” _JSA_ , 2017.
  * Maass (1997) W. Maass, “Networks of spiking neurons: The third generation of neural network models,” _Neural Networks_ , 1997.
  * Mallik et al. (2017) A. Mallik _et al._ , “Design-technology co-optimization for oxrram-based synaptic processing unit,” in _VLSIT_ , 2017.
  * Mead (1990) C. Mead, “Neuromorphic electronic systems,” _Proc. of the IEEE_ , 1990.
  * Midya et al. (2019) R. Midya _et al._ , “Artificial neural network (ANN) to spiking neural network (SNN) converters based on diffusive memristors,” _Advanced Electronic Materials_ , 2019.
  * Moradi et al. (2017) S. Moradi _et al._ , “A scalable multicore architecture with heterogeneous memory structures for dynamic neuromorphic asynchronous processors (DYNAPs),” _TBCAS_ , 2017.
  * Moyer and Das (2020) E. J. Moyer _et al._ , “Machine learning applications to DNA subsequence and restriction site analysis,” in _SPMB_ , 2020.
  * Mozafari et al. (2019) M. Mozafari _et al._ , “Spyketorch: Efficient simulation of convolutional spiking neural networks with at most one spike per neuron,” _Frontiers in Neuroscience_ , 2019.
  * Mulaosmanovic et al. (2017) H. Mulaosmanovic _et al._ , “Novel ferroelectric FET based synapse for neuromorphic systems,” in _VLSIT_ , 2017.
  * Paszke et al. (2019) A. Paszke _et al._ , “PyTorch: An imperative style, high-performance deep learning library,” _arXiv_ , 2019.
  * Qiao et al. (2015) N. Qiao _et al._ , “A reconfigurable on-line learning spiking neuromorphic processor comprising 256 neurons and 128k synapses,” _Frontiers in Neuroscience_ , 2015.
  * Rueckauer and Liu (2018) B. Rueckauer _et al._ , “Conversion of analog to spiking neural networks using sparse temporal coding,” in _ISCAS_ , 2018.
  * Rueckauer et al. (2016) B. Rueckauer _et al._ , “Theory and tools for the conversion of analog to spiking convolutional neural networks,” _arXiv_ , 2016.
  * Schuman et al. (2017) C. D. Schuman _et al._ , “A survey of neuromorphic computing and neural networks in hardware,” _arXiv preprint arXiv:1705.06963_ , 2017.
  * Selman and Gomes (2006) B. Selman _et al._ , “Hill-climbing search,” _En. of Cog. Sc._ , 2006\.
  * Shi et al. (2015) L. Shi _et al._ , “Development of a neuromorphic computing system,” in _IEDM_ , 2015.
  * Smith et al. (2020) J. D. Smith _et al._ , “Solving a steady-state PDE using spiking networks and neuromorphic hardware,” in _ICONS_ , 2020.
  * Song and Das (2020b) S. Song _et al._ , “Design methodologies for reliable and energy-efficient PCM systems,” in _IGSC Workshops_ , 2020.
  * Song and Das (2020a) S. Song _et al._ , “A case for lifetime reliability-aware neuromorphic computing,” in _MWSCAS_ , 2020.
  * Song et al. (2019) S. Song _et al._ , “Enabling and exploiting partition-level parallelism (PALP) in phase change memories,” _TECS_ , 2019.
  * Song et al. (2020a) S. Song _et al._ , “Compiling spiking neural networks to neuromorphic hardware,” in _LCTES_ , 2020.
  * Song et al. (2020c) S. Song _et al._ , “Exploiting inter- and intra-memory asymmetries for data mapping in hybrid tiered-memories,” in _ISMM_ , 2020.
  * Song et al. (2020b) S. Song _et al._ , “Improving dependability of neuromorphic computing with non-volatile memory,” in _EDCC_ , 2020.
  * Song et al. (2020d) S. Song _et al._ , “Improving phase change memory performance with data content aware access,” in _ISMM_ , 2020.
  * Song et al. (2021b) S. Song _et al._ , “Aging-aware request scheduling for non-volatile main memory,” in _ASP-DAC_ , 2021.
  * Song et al. (2021a) S. Song _et al._ , “Dynamic reliability management in neuromorphic computing,” _JETC_ , 2021.
  * Titirsha and Das (2020a) T. Titirsha _et al._ , “Reliability-performance trade-offs in neuromorphic computing,” in _IGSC Workshops_ , 2020.
  * Titirsha and Das (2020b) T. Titirsha _et al._ , “Thermal-aware compilation of spiking neural networks to neuromorphic hardware,” in _LCPC_ , 2020.
  * Titirsha et al. (2021a) T. Titirsha _et al._ , “On the role of system software in energy management of neuromorphic computing,” in _CF_ , 2021.
  * Titirsha et al. (2021b) T. Titirsha _et al._ , “Endurance-aware mapping of spiking neural networks to neuromorphic hardware,” _TPDS_ , 2021.
  * Van Laarhoven and Aarts (1987) P. J. Van Laarhoven _et al._ , “Simulated annealing,” in _Simulated annealing: Theory and applications_ , 1987.
  * Vincent et al. (2015) A. F. Vincent _et al._ , “Spin-transfer torque magnetic memory as a stochastic memristive synapse for neuromorphic systems,” _TBCAS_ , 2015\.
  * Yavuz et al. (2016) E. Yavuz _et al._ , “GeNN: a code generation framework for accelerated brain simulations,” _Scientific Reports_ , 2016.
  * Yeric et al. (2013) G. Yeric _et al._ , “The past present and future of design-technology co-optimization,” in _CICC_ , 2013.