dataesr/scientific-paragraphs-categorization huggingface dataset:
B. 2 Synthetic+Real training Amount of additional synthetic data. In Figure  7  of the main paper, we plotted the performance against the amount of action sequences in the training set for both synthetic and real datasets. Here, we also report Synth+Real training performance when the Real data is fixed and uses all the action sequences available (i. e. , 220 sequences per action), and the Synth data is gradually increased. the challenging 90 • view with as little synthetic data as 10 sequences per action (57. 2% vs 53. 6%). Using all the motions shows the most benefit as expected. Synth+Real training strategies. In all our experiments, we combine the training sets of synthetic and real data to train jointly for both datasets, which we referred as Synth+Real. Here, we investigate whether a different strategy, such as using synthetic data as pre-training (as in Varol et al.
[11]ning jointly on synthetic and real data substantially boosts the performance compared to only real training on NTU CVS protocol, especially on highlighted unseen views (e. g. , 69. 0% vs 53. 6%). The improvement can be seen for both RGB and Flow streams, as well as the fusion. We note the marginal improvements with the addition of flow unlike in other tasks where flow has been used to reduce the synthetic-real domain gap[11]. We render two different versions of the synthetic dataset using HMMR and VIBE motion estimation methods, and observe improvements with VIBE. Moreover, training on synthetic videos alone is able to obtain 63. 0% accuracy.
[4,6]ing on different versions of the synthetic data generated from 10 sequences per action from the NTU CVS protocol. We ablate the importance of augmentations of the camera height and distance. We train only on synthetic and test on the real test set. We observe improvements with randomized camera positions besides the azimuth rotation. bleA. 7. We render two versions of the synthetic training set with 10 sequences per action from 8 viewpoints. The first one has a fixed distance and height at 5 meters and 1 meter, respectively. In the second one, we randomly sample from[4,6]meters for the distance, and [-1, 3] meters for the height. We see that the generalization to real NTU CVS dataset is improved with increased randomness in the synthetic training. Visuals corresponding to the pre-defined range can be found in Figure A.
Acknowledgements This work was supported in part by  Google Research ,  EPSRC grant ExTol ,  Louis Vuitton ENS Chair on Artificial Intelligence ,  DGA  project  DRAAF , and the  French government  under management of  Agence Nationale de la Recherche  as part of the  Investissements d'Avenir program , reference  ANR-19-P3IA-0001  ( PRAIRIE 3IA Institute ). We thank  Angjoo Kanazawa ,  Fabien Baradel , and  Max Bain  for helpful discussions,  Philippe Weinzaepfel  and  Nieves Crasto  for providing pre-trained models.
baselines: Training and testing with our cross-view-subject (CVS) protocol of the NTU dataset using only real RGB videos. Rows and columns correspond to training and testing sets, respectively. Training and testing on the same viewpoint shows the best performance as can be seen by the diagonals of the first three rows. This shows the domain gap present between 0 • , 45 • , 90 • viewpoints. If we add more viewpoints to the training (last two rows) we account for the domain gap. Non-uniform frame sampling (right) consistently outperforms the uniform frame sampling (left). validationvideos from these 15 classes. The limitation of this protocol is that it is sensitive to the choice of the 15 training videos, e. g. , if 3D motion estimation fails on one video, the model will not benefit from additional synthetic data of one class.
S and R stand for Synthetic and Real, respectively. Pre-training only on one dataset is suboptimal (last three rows). Our choice of training by mixing S+R from scratch is simple yet effective. Marginal gains can be obtained by continuing training only on Real data (S+R→R). 0 • 45 • 90 • Real(220) 86. 9 74. 5 53. 6 Synth(10) + Real(220) 85. 5 74. 7 57. 2 Synth(30) + Real(220) 85. 2 77. 4 61. 8 Synth(60) + Real(220) 87. 6 78. 7 62. 2 Synth(100) + Real(220) 87. 7 78. 8 63. 7 Synth(220) + Real(220) 89. 1 82. 0 67. 1 Real Synth Training 0 • 45 • 90 • All S 54. 0 49. 5 42. 7 70. 4 R 86. 9 74. 5 53. 6 18. 1 S+R 89. 1 82. 0 67. 1 71. 0 S+R→R 89. 9 81. 9 67. 5 73. 1 S→R 84. 1 77. 5 66. 2 65. 6 S→S+R 81. 6 75. 1 63. 6 73. 3 R→S+R 84. 3 75. 1 59. 9 56. 7.
The main disadvantage of this approach is the difficulty of maintaining the session integrity, reducing the ability of Snort to analyse the traffic correctly without the full picture of packet flows. In fact, delay of session integrity can be a bottleneck inhibiting the success of this approach. However, a sophisticated traffic splitter can solve this bottleneck. Shiri et al. [6]  implements the NL-FP-2 approach proposed by Wheeler and Fulp  [7]  by deploying two IDS nodes in parallel. In their experiments the Snort signature rules are evenly divided between two IDS nodes, so that both IDS nodes have the same number of rules. For testing the authors use a dataset from a TCPDUMP-file generated to compare the processing time on their parallel implementation versus a single IDS node. Their experiment results show that the processing time of their implementation of two IDS nodes is 42% faster than for a single IDS node.
The goal of this paper is to reduce processing time in NIDS, which in return reduces the number of dropped packets. The experiments confirm that when running the Snort NIDS in parallel, the number of packets dropped decreases. The experiment results show that as the number of IDS nodes running in parallel increases, the packet drop rate decreases consequently. With a dataset of 8000 packets; running one IDS node had a packet drop rate of 10. 9%. When running two instances of IDS nodes with the same data set the drop rate was decreased to 5. 7%. The work reported in  [20]  proposes two pattern matching algorithms to reduce memory usage and improve the run time of an IDS. The Aho-Corasick algorithm is used when analysing a packet payload with short patterns, while the Wu-Manber algorithm is used for longer patterns.
Both algorithms are multipattern matching algorithms, meaning they can inspect multiple packets concurrently if there are enough threads that can be launched. In the experiment the authors ran the algorithm using four threads, where one thread used the Aho-Croasick-algorithm while the other three threads used the Wu-Manber-algorithm. The results show that by using this combination, a reduction of the time spent on pattern matching by 41% compared to a normal configuration is achieved. Umar et al. [21]  propose a model for multithreading and parallelization in IDS. The main focus of this paper is the distribution and update of signature based rules to IDS agents. The authors propose to aggregate all rules in a centralized database (mySQL), while agents have their own database called Small Signature Database (SSD).
The rules in the centralized database are divided into smaller portions and distributed to the agents SSD, e. g rule 1-200 is used for agent 1, 201-400 for agent 2 and so on for additional agents. The results of the experiment show that their proposed model is 50% faster when using two IDS agents compared to one. In addition the authors suggest using an algorithm to update the main database with frequent rules that raise alerts on the agents. Kumar et al. [22]  propose a technique to maintain and update databases consisting of the most frequent attack signature rules. By using the Rule Induction Algorithm (RIA) (a modified version of the SRLF algorithm) the solution builds smaller databases which contain only the most frequent attack signatures from the large database. The RIA algorithm also takes care of updating the smaller databases whenever the number of most frequent attacks changes in the large database.
The results of the experiment show that when using an IDS where all rules were enabled, the total amount of dropped packets was 5%, while for the proposed model the total amount of dropped packets was reduced to 1% over 50 test sessions. The study reported in  [23]  emphasizes how difficult it is for IDS to process packets when the networking speed in a highspeed network infrastructures is increased. Neither optimization of packet matching algorithms used by centralized processors nor custom-developed hardware can cope with these problems because of their inherent stateful nature. Hence, the authors have studied a pattern matching algorithm that works by performing a stateful signature matching and detection of network attacks. A parallel rule matching unit made of four sensors deployed on four Linux boxes performed better than a single sensor used for a particular set of detections on a particular dataset.
The importance of this article is set by the innovativeness behind Para-Snort, not only it indicates more flexibility and ease while scaling new modules, but it also shows the ability to replace modules by using hardware acceleration. Furthermore, through comprehensive experimental results, the paper shows that Para-Snort manages to increase the speedup by an order of magnitude between 4 and 6 times for various traces using a 7-thread parallelizing test setup. However, as mentioned by the authors, despite the advantages presented in the article, the processing engine of Para-Snort requires further improvement. All in all, Para-Snort appears to be a Snort parallelization strategy which is designed to achieve a better performance while showing impressive results both for load balancing and for multi-pattern matching.
The proposed solution In this section, we present the overall architecture for distributing network traffic and dividing and updating signature rules on Snort sensors. Network Function Virtualization (NFV) is a new paradigm in the move towards open software and network hardware  [27] [28] [29]. In our work, we adopt some of these principles and use Open vSwitch and Docker containers running Snort in order to make an elastic virtualized IDS which is flexible and easily scalable. Software-defined Networking (SDN) is another technology which has been increasingly used in virtualized security scenarios  [30]. Thus, our solution could seamlessly be integrated within an infrastructure using SDN  [31]. The proposed solution is a scalable intrusion detection system, however, the main focus of this paper is on how to scale the solution and avoid packets passing the sensors undetected, and there is much less focus on the detection part.
Nevertheless, all the snort sensors in the solution send their alerts to a central alert database so that the prototype is a fully functional IDS. As the traffic is duplicated and sent to several snort sensors, it would not make sense to drop packets which raise an alert and the solution will hence not be a candidate for an intrusion prevention system. For such a system scaling could be obtained by splitting the traffic into several streams which were redirected to a number of sensors, each containing all the rules, and then dropping packets would make sense and could stop an attack. It is well known that it is challenging to keep the integrity of the alerts when splitting the network traffic  [2, 32] , a design referred to as Node Level Data Parallel 1 (NL-DP-1)  [7]  in Section 2. In general the state of the connections need to be kept as in some cases rules are triggered by related traffic.
Technical model The technical model describes the core modules of our system for creating a dynamic scalable parallel environment of NIDS sensors. The technical model resorts to two algorithms; the signature rule ordering algorithm and the dynamic scaling algorithm. A diagram of the technical model has been designed to show how the scaling algorithm script works, adjusting Snort sensors based on the output of a system load parameter. The diagram of Fig. 2  shows the state of all Snort sensors in the scenario where the controller using both algorithms has monitored a system resource, performed calculations and made a decision that three sensors are needed. The rule ordering algorithm has then created three new rule-sets for each sensor, and the scaling algorithm has distributed the new rule-sets and reloaded each sensor, illustrated by an updating icon for sensor 1, sensor 2, and sensor 3.
load_profiled_rules() -(1) This component is used to read all rule profiling performance files generated by the Snort sensors to create a dictionary that consists of the signature rule ID (SID) and the amount of time spent on each rule performing packet inspection. In cases of multiple performance profiling files, occurrence of the same signature rule might happen, therefore duplication of signature rules is managed by this component as well. This component finally returns a dictionary of all signature rules storing the time used for packet inspection. Pseudo-code of this procedure is shown in Algorithm 1. def load_profiled_rules (performance_profiling_files): { profiled_rules_dictionary = {} // empty dictionary for file in performance_profiling_files do open file ; for i in file do find SID and avg/check parameter and add to dictionary ; end end return profiled_rules_dictionary } Algorithm 1: Pseudo-code of the load_profiled_rules() procedure of the signature rule ordering algorithm.
Docker and snort Snort version 2. 9. 9. 9 was used for the IDS sensors. The Snort main ruleset file containing all Snort rules (approximately 35 000 rules) was downloaded using PulledPork, which is a rule management tool for Snort and Suricata. The reason for doing this was to retrieve the necessary directories and files structures which are later used as templates for Docker. Docker version 1. 13. 0 was first installed through the aptget package management. Before launching Snort containers, a Docker image was built to containerize the Snort application and its dependencies. Barnyard2 was used to parse binary output log files that contains alerts created by Snort and save the alerts in a centralized mySQL database.
Tcpreplay Tcpreplay version 3. 4. 4 was installed using apt-get on the physical client machine and used to replay network traffic from a pcap file. The pcap file used in all the experiments consisted of 1. 5 GBytes of recorded network traffic from a private network. Most of the traffic at such a place is just normal traffic and the number of alerts are hence few. The alerting capacity of an IDS is normally not a bottleneck, while the CPU demanding deep packet inspection using regular expressions often is. However, there are many publicly available pcacp file datasets that could be used as an alternative. We refer the interested reader to for example the large Netresec pcap dataset  [36]. For the sake of repeatability, the source code of our project can be found in  [37]. A Bash script was developed to replay the traffic at different settings, such as bandwidth speed and a given number of times in a loop, for the purpose of customizing the experiments.
Real-time network traffic distribution architecture The main purpose of the IDS is to analyse network traffic for intrusions, hence the importance of the network setup for the Snort sensors to analyse the correct network traffic. Regarding the physical aspect of the network setup, only one port is configured to run as a mirror port. However, the Snort sensors have their own isolated virtual network, so there is a need to duplicate and distribute this traffic further to each Snort sensor. For this purpose, a virtual switch is used to connect the physical and virtual ports together in order for all Snort sensors to receive the same data. An illustration of the networking model is shown in Fig. 4  where all data flow directions represent duplicated traffic. In this proposed architecture, the network traffic is real-time traffic.
Initial experiments The general procedure of the experiments was to replay the recorded pcap network traffic at a set of different speeds and record the CPU usage and the total drop rate of the Snort sensors. A Snort ruleset containing 31 607 rules and rule profiling performance files that contained 3345 unique rules were used. The latter rules are the ones which were matching some of the packets of the test pcap file and for which the profiling data were collected. The rest of the rules were also a part of the experiments, but these rules never explicitly led to time consuming deep packet inspection in the experiments conducted. Initial experiments showed that the memory was not a bottleneck as the memory utilization was almost stable even for heavy workloads, and just increased slightly with the increase of the number of rules.
The total number of rules used was also in this experiment 31 607, but the rules for which there where no profiling data were just evenly divided between the sets as there would not be any significant difference in processing time when comparing them. The results of a set of experiments conducted to see how well the signature rule ordering algorithm performed when receiving real TCP-traffic is shown in Fig. 6. The signature rule ordering algorithm (intelligent rule ordering) was applied to divide the 31 607 rules into two sets and 5 different experiments was performed. An overwhelming stream of network packets was sent to both Snort sensors and the number of packets analysed and dropped was logged. If the rule ordering is perfectly balanced, the two sensors should drop equally many packets in each of the experiments.
A longer interval might lead to either degradation of the performance or unnecessary usage of the resources over a long time depending on the workload. We cannot claim that 45 s is an optimal value, a more thorough study needs to be conducted to find an optimal value. Such a question has been very well studied within the field of elastic cloud infrastructure in general  [39] , for instance many works on elastic load balancing of web services have studied the optimal choice of the scaling schedule interval. We leave determining the optimal scaling schedule interval depending on the characteristic of the traffic to a future work. The experiments lasts for 2 h and 20 min, giving the 8400 CPU load data points of Fig. 8. In Fig. 9  the threshold CPU usage is reduced to 60%. In this sense, the scaling algorithm will try to avoid that any of the Snort sensors uses more than 60% CPU time in order to reduce the amount of packets dropped.
Along with local search methods, exact and deterministic methods which can provably identify the global minimum of the energy function (global minimum energy conformation, GMEC) also exist  [11]. The state-of-the-art here relies on Cost Function Networks algorithms  [12, 13] , and has recently been extended to optimize sequences for one or several protein states at the same time  [14]. It is available as an open source software under the name of "P O M P d ". In addition to providing access to the protein sequence of lowest energy, P O M P d , which relies on the constraint programming solver ToulBar2  [15] , is able to exhaustively enumerate all protein sequences within a threshold to the global minimum. Using this ability, a recent fitness landscape analysis around the optimum of CPD problems showed that the structure of CPD problems can prevent simulated annealing from approaching the GMEC  [16].
The energy function is expressed in Equation  1 , where x ∈ X represents a solution of length from the sequence/conformation space X (which contains all possible rotamer assignments for a given protein structure), and where E i and E i j are respectively unary and binary energy terms whose values are function of rotamer assignments at position x i (for E i ) and at positions x i ,x j (for E i j ). G is the undirected interaction graph, whose edges represent all interactions between pairs of residues. E (x ) = i =1 E i (x i ) + (i ,j ) ∈G E i j (x i , x j ) (1) In our experiments, we minimise the energy function beta_nov16, as provided by the Rosetta modeling software  [20].
| Benchmark description and statistics The PDB code and length of each protein in the benchmark, as well as main statistics extracted from the interaction graph associated with each protein are shown in Table ??. These statistics reflect the topology of the proteins. The neighborhood size, which is the cumulative number of rotamers at each position in the protein sequence, naturally grows with the length of the proteins, as well as the number of links which sums up all edges in the interaction graph. The average number of rotamers per position ( | N |/ ) remains stable, ranging from approximately 250 to 300. The density of the interaction graph, computed as the number of edges in the graph divided by the number of possible edges, tend to decrease with the length of the proteins. The average number of edges per residue grows with the length, translating the fact that buried residues are more connected, and that the number of buried residues increases with the length for globular proteins.
| CONCLUSION Computational protein design has become a major tool in protein engineering and fundamental structural biology. The massive amount of sequence data and the continuously growing number of structures in the Protein Data Bank combined with nowadays computational resources and experimental validation techniques have greatly contributed to our understanding of the determinants of protein design modeling. Efficient optimization algorithms become crucial in order to fully benefit from the increasing accuracy of energy functions and progress in protein design modeling. Recent findings on the properties of the energy landscapes describing CPD problems shed light on some misfit of classically used local search optimization techniques such as simulated annealing. The energy landscapes appear particularly rugged, and methods able to better escape local minima are needed.
Surface Realization In linguistics, a realization consists in generating a surface form, which is a correct sentence in a given natural language, from a more abstract representation, in which the different components such as the subject or the verb are specified. Therefore, a surface realizer is a system that is able to take an abstract semantic representation as an input to generate a syntactically-correct sentence. In this work, we rely on SimpleNLG  [14]  for performing this task. This realization engine provides an API that is easy to use and complete enough for the kind of explanation we would like to generate. We do not explain here how we use it (e. g. the function calls). We will just describe the form of the sentences.
Results In this work, the FCSP has been extracted automatically from few images from the Visceral dataset  1. Figure  1  shows one of the image and different organs of interest. The segmentation has been obtained automatically and the regions were given an identifier in an arbitrary order. Thus, in this first approach, items are not sorted. However, for the sake of comprehension of this article, we numerated ourselves the organs, from left to right and top to bottom. We consider the solution of such a FCSP for Figure  1  with the highest degree of consistency. The result, as it can be seen in figure  2  is obviously a long but complete explanation.