Manuel Selva
email: manuel.selva@inria.fr

Mining Jewels Together: Debating about Programming Threshold Concepts in Large Classes

Keywords: active learning, threshold concepts, scientific debate, programming

Computer science has its threshold concepts as any academic discipline that students struggle to understand deeply. In this work, we report on using an active learning method called scientific debate to teach programming threshold concepts in large unplugged classes. This method involves students by having them defend their position with arguments and scales up with the number of students by leveraging collective intelligence. We present in detail how we apply scientific debate in a programming class. We also collect and discuss student exchanges during debates and gather feedback after the last debate. Students report they stay more focused and motivated during class with scientific debate compared to traditional transmissive lectures. They also indicate that they understood the goal of this new pedagogical contract. Our experience report could help programming teachers willing to replace/complement transmissive teaching with a methodology involving the students.

INTRODUCTION

Threshold concepts are these jewels that, once crossed, strongly impact learners. Following their initial definition by Meyer and Land [START_REF] Meyer | Threshold concepts and troublesome knowledge: Linkages to ways of thinking and practising within the disciplines[END_REF][START_REF] Meyer | Threshold concepts and troublesome knowledge (2): Epistemological considerations and a conceptual framework for teaching and learning[END_REF], these concepts are troublesome, transformative, integrated, and irreversible. Said differently, threshold concepts are hard to grasp; they change how students perceive a given discipline; they allow making relations within a discipline, and students cannot forget them once learned. In the context of computer science, particularly in learning to program, the question of identifying threshold concepts has been studied [START_REF] Boustedt | Threshold Concepts in Computer Science: Do They Exist and Are They Useful[END_REF][START_REF] Sanders | Threshold Concepts in Computing: Past, Present, and Future[END_REF][START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF][START_REF] Yeomans | Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming[END_REF] since the introduction of the concept by Meyer and Land. Even if the question is not closed, these works identified and discussed several concepts as being threshold concepts or at least potential ones. For example, the program dynamics [START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF][START_REF] Sorva | Notional Machines and Introductory Programming Education[END_REF] concept is a threshold one. We refer to the following concise sentence [START_REF] Du | Some Difficulties of Learning to Program[END_REF] to give the reader an understanding of what this concept is about: "A running program is a kind of mechanism, and it takes quite a long time to learn the relation between a program on the page and the mechanism it describes. "

Once teachers identify a threshold concept, the question arises about how to help students cross it. Practicing a lot is part of the answer. That being said, teachers have wondered how to speed up the learning curve regarding these concepts since the early days of teaching programming. As in any discipline with large cohorts of students, programming teachers also faced the question of using pedagogical methods scaling with the number of students. The traditional way of answering this question consists of carefully prepared transmissive lectures.

One of the main criticisms that one can formulate regarding transmissive lectures is that students are not scientifically engaged. Nevertheless, there exist active learning approaches aiming at involving students, making them actors of the class. Scientific debate [START_REF] Legrand | Scientific Debate in Mathematics Courses[END_REF] is one of these approaches developed in the context of teaching mathematics. In this socio-constructivist approach, students become actors in the class by having to defend with arguments their position on a problem during a debate. While the debate runs, the teacher's role is only to animate discussions without taking a position on any argument students offer. The debate runs until students no longer bring new arguments or when the amount of time allocated for it has elapsed. At this time, the teacher can give the correct answer and explain why connecting her explanations to the students' correct and wrong arguments. Even if mathematics education researchers have proposed the scientific debate approach before the seminal work on threshold concepts by Meyer and Land, it is a perfect fit for threshold concepts and later work on the method explicitly says that it tackles the "key concepts" of a discipline [START_REF] Legrand | Le principe du "débat scientifique" dans un enseignement[END_REF][START_REF] Pigeonnat | Grands auditoires : plus qu'un handicap, une force pour enseigner des concepts difficiles ![END_REF].

In this work, we report and discuss our usage of scientific debate in a programming class at the license 3 level (in the European system). Section 2 presents related work and background. Section 3 lists with details the four problems we use to animate four debates. We then report in Section 4 on the student arguments we collected during the last three years for each of the four debates. Section 5 presents student feedback on this teaching methodology. We conclude in Section 6. We emphasize that we do not tackle the question of pinpointing threshold concepts in programming but focus on reporting our usage of scientific debate to tackle four concepts already identified as potential thresholds by the community.

RELATED WORK AND BACKGROUND

Meyer and Land introduced the notion of threshold concepts twenty years ago [START_REF] Meyer | Threshold concepts and troublesome knowledge: Linkages to ways of thinking and practising within the disciplines[END_REF][START_REF] Meyer | Threshold concepts and troublesome knowledge (2): Epistemological considerations and a conceptual framework for teaching and learning[END_REF]. Since then, the computer science education community has worked on applying this theory to its field. Many studies focus on listing the threshold concepts of computer science [START_REF] Boustedt | Threshold Concepts in Computer Science: Do They Exist and Are They Useful[END_REF][START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF][START_REF] Sorva | Notional Machines and Introductory Programming Education[END_REF][START_REF] Yeomans | Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming[END_REF] and on defining a methodology to decide whether a computer science concept can be considered a threshold or not [START_REF] Rountree | Issues Regarding Threshold Concepts in Computer Science[END_REF][START_REF] Sanders | Threshold Concepts in Computing: Past, Present, and Future[END_REF][START_REF] Zwaneveld | Discussion of Methods for Threshold Research and an Application in Computer Science[END_REF].

The conclusions suggest that one should take students, teachers, and professionals' points of view into account to understand computer science threshold concepts better.

Some studies go beyond identifying the computer science threshold concepts, focusing on the impact of these concepts on how educators teach computer science. As such, some of them propose teaching material dedicated to specific threshold concepts. Sanders and McCartney listed [START_REF] Sanders | Threshold Concepts in Computing: Past, Present, and Future[END_REF] teaching materials already in use by the community to teach threshold concepts. Sorva suggests, for example, using visualization software to teach the threshold concept known as program dynamics [START_REF] Sorva | Visual program simulation in introductory programming education[END_REF]. Shinners-Kennedy proposed classroom activities with mazes to address some computer science threshold concepts [START_REF] Shinners-Kennedy | Threshold concepts and teaching programming[END_REF].

Other more general works focus on the high-level properties a class and associated teachers must have to teach computer science threshold concepts [START_REF] Eckerdal | From Limen to Lumen: Computing Students in Liminal Spaces[END_REF][START_REF] Mccartney | Liminal spaces and learning computing[END_REF][START_REF] Mccartney | Successful Students' Strategies for Getting Unstuck[END_REF][START_REF] Reynolds | The Affective Dimension of Pervasive Themes in the Information Technology Curriculum[END_REF][START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF][START_REF] Sorva | Notional Machines and Introductory Programming Education[END_REF]. Several key points emerged from these works. First, students must know the potential threshold concepts' existence and importance [START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF][START_REF] Sorva | Notional Machines and Introductory Programming Education[END_REF]. Second, while studying a threshold concept, students oscillate between a state where they think they got the concept and a state where they face facts showing it is not the case [START_REF] Eckerdal | From Limen to Lumen: Computing Students in Liminal Spaces[END_REF][START_REF] Mccartney | Liminal spaces and learning computing[END_REF][START_REF] Mccartney | Successful Students' Strategies for Getting Unstuck[END_REF]. This oscillation period is called the liminal space. Because of this liminal space, the teaching approach must consider the affective aspect of threshold concepts [START_REF] Reynolds | The Affective Dimension of Pervasive Themes in the Information Technology Curriculum[END_REF]. Finally, teachers must find ways to reveal a threshold concept's profound nature [START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF] or the "underlying game" [START_REF] Meyer | Overcoming Barriers to Student Understanding[END_REF] in Mayer and Land's words.

Without a relationship to threshold concepts, Think-Pair-Share (TPS) [START_REF] Frank T Lyman | The responsive classroom discussion: The inclusion of all students[END_REF] and Peer Instruction (PI) [START_REF] Crouch | Peer Instruction: Ten years of experience and results[END_REF] are two lightweight active learning methods already in use in the context of large computer science classes. Both methods are similar to scientific debate, requiring students to think and debate on a given problem. In the case of PI, as for scientific debate, students must vote for a given answer, increasing scientific engagement. In the context of teaching programming, TPS can strongly impact learning outcomes, increases student engagement, and is easy to implement [START_REF] Kothiyal | Effect of Think-Pair-Share in a Large CS1 Class: 83% Sustained Engagement[END_REF][START_REF] Kothiyal | Think-Pair-Share in a Large CS1 Class: Does Learning Really Happen?[END_REF]. PI fosters deep understanding [START_REF] Porter | Peer Instruction: Do Students Really Learn from Peer Discussion in Computing?[END_REF][START_REF] Simon | Peer Instruction: A Teaching Method to Foster Deep Understanding[END_REF][START_REF] Simon | How We Teach Impacts Student Learning: Peer Instruction vs[END_REF] and helps build technical communication skills [START_REF] Porter | Experience Report: A Multi-Classroom Report on the Value of Peer Instruction[END_REF].

Legrand proposed an active learning teaching method called scientific debate [START_REF] Legrand | Scientific Debate in Mathematics Courses[END_REF][START_REF] Legrand | Le principe du "débat scientifique" dans un enseignement[END_REF] to tackle threshold concepts in the context of mathematics. This method has mainly been used in mathematics [START_REF] Fernando | Covariation between variables in a modelling process: The ACODESA (collaborative learning, scientific debate and self-reflection) method[END_REF][START_REF] Pigeonnat | Grands auditoires : plus qu'un handicap, une force pour enseigner des concepts difficiles ![END_REF][START_REF] Virginia | Calculus by scientific debate as an application of didactique[END_REF]. Compared to TPS and PI, scientific debate explicitly targets threshold concepts. Said differently, scientific debate requires more student involvement, preparation on the teacher's side, and more time in class. In our programming class, a single scientific debate occupies a full 90-minute lecture. The method leverages a short, nevertheless conceptually complex (since it relates to a threshold concept) and potentially controversial problem to engage all the students and highlight pre-conception to deconstruct the wrong ones.

FOUR SCIENTIFIC DEBATES

In our teaching context, we focus on four concepts identified by the community as candidates for being threshold. This section introduces our programming class and presents the four problems given to students for each of the four threshold concepts.

Organization of our programming class

The programming class title is Basis of Imperative Programming (BIP) and uses Python. It stands as the first programming class in our computer science curriculum. As the title suggests, its primary goal is to focus on concepts rather than mastering Python. While around 95% of the 240 students attending the class already have some programming experience, the audience's level is very heterogeneous. Students with previous programming experience fit into three groups with three different backgrounds. In the group with the most significant programming experience, representing 15% of the 95%, students already followed 200 hours of programming courses, mainly in Python. In the group with the lowest experience, representing 20% of the 95%, students had less than 50 hours of programming courses before reaching our class. In the last group, students attended 120 hours of programming courses before.

The class comprises four sequential chapters corresponding to the four threshold concepts and lasts for a semester made up of 11 weeks. Chapter One lasts three weeks, chapter Two lasts three weeks, chapter Three lasts three weeks, and chapter Four lasts two weeks. Each chapter starts with a 90-minute lecture with all students, including the scientific debate, to introduce the threshold concept. The students then have one lab session and one unplugged session per week in groups of 30 students with a dedicated teacher. These per-group sessions aim to implement real programs on a machine and do paper exercises related to the chapter's threshold concept to help students cross it while simultaneously learning technical skills. Each of the four 90-minute lecture with a scientific debate follows this structure :

(1) an introduction by the teacher followed by the exposition of the problem and the proposed answers ; (2) enough time (at least 10 minutes) for each student to think about the problem on their own and discuss it with neighbors ; (3) a first individual vote followed by the posting of the result of the vote for the entire class ; (4) a debate between students where each one defends her position ; (5) a second individual vote followed by the posting of the result of the vote for the entire class ; (6) another discussion time for students who have changed their minds to explain why ; (7) a restructuring by the teacher, taking up the arguments heard and explaining why they are correct or not, called the institutionalization phase.

This organization, respecting the principles of the scientific debate method allows students to think individually about the problem first. The individual vote aims to promote scientific engagement among all students. The debate is the heart of the class, where students are encouraged to explain what they think to others. Its purpose is to let them defend their position with arguments on their terms. The results of the new vote provide feedback on how convincing the students' arguments were. Students are again encouraged to speak up and explain which arguments have convinced them and why. Finally, the teacher's role is to take up all the arguments heard, indicating which are correct and which are not, and then explaining why. For wrong arguments, the teacher explains where can be the origin of the misconception.

Program dynamics

The first threshold concept tackled in the class is the program dynamics one we presented in the introduction. The problem presented for debate to the students is the following: What does the Ruby program in Listing 1 print on screen? Along with the program and the question, the teacher proposes the following answers to students:

def f() 1 print "welcome " 2 g() 3 return 4 print "! " 5 end 6
print "in BIP " We decided to use Ruby for two reasons. First, very few attending students know this language1 , so they start with the same level of knowledge this problem's syntax. Second, using a new language should help convince students that program dynamics is a computer science threshold concept since it exists independently of the programming language used.

We deliberately use many control flow features of imperative languages to emphasize the crucial importance of program dynamics for understanding a program. Among these features, some are complex such as exceptions, and have never been seen before by any student.

The goal of a scientific debate is not to have all students have a deep understanding of the threshold at the end of the lecture but to have them realize that they need to work hard on this concept.

In order to have more impact on students, we start the institutionalization phase by running the program to check the correct answer. Then, the teacher executes the program step by step with a visualization tool to see the following line to be executed along with the content of the global area and local variables. Again, during this step-by-step execution, the teacher must connect her explanations to correct and wrong arguments students gave during the debate.

Data structures versus abstract data types

The second threshold concept we address is data structures [START_REF] Moström | Concrete Examples of Abstraction as Manifested in Students' Transformative Experiences[END_REF][START_REF] Yeomans | Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming[END_REF]. The question students debate on is how many CPU instructions are required to execute the Python program shown in Listing 2, considering the average overhead induced by executing one Python statement is approximately 100 CPU instructions. We then propose the following answers: Another advantage of this simple program is that running it in front of students with a not-so-large number, such as 500, 000, shows them the tangible impact of using an inadequate data structure: the program runs for 30 seconds! During institutionalization, the teacher explains that what Python calls lists are dynamic arrays. Again, we use visual representation to support this explanation to have students see the shift of all elements of one position to the right when inserting at index zero.

The third threshold concept we tackle is references [START_REF] Boustedt | Threshold Concepts in Computer Science: Do They Exist and Are They Useful[END_REF][START_REF] Thomas | Threshold Concepts in Computer Science: An Ongoing Empirical Investigation[END_REF][START_REF] Yeomans | Transformative and Troublesome? Students' and Professional Programmers' Perspectives on Difficult Concepts in Programming[END_REF]. For this one, students must guess the output of the Python program shown in Listing 3. The proposed answers are the following: Because this program visually displays something, as for the running time of the previous program, showing the result can impact students and facilitates their interactions with the teacher. Indeed, the numerous reactions we can hear from the class just after the teacher presses Enter to run the program when the debate is over is an indicator confirming it.

• A.
As for the two previous debates, the teacher uses a visualization tool à la PythonTutor [START_REF] Guo | Online Python Tutor: Embeddable Web-Based Program Visualization for Cs Education[END_REF] during the institutionalization phase to explain the reference concept.

Recursive functions

The last concept we study is recursive functions, also identified as a potential threshold concept [START_REF] Boustedt | Threshold Concepts in Computer Science: Do They Exist and Are They Useful[END_REF][START_REF] Rountree | Issues Regarding Threshold Concepts in Computer Science[END_REF] or, more precisely, a transliminal concept [START_REF] Sorva | Reflections on Threshold Concepts in Computer Programming and Beyond[END_REF]. Sorva defines transliminal concepts as "concepts that require an understanding of a threshold concept and can lure students to and across thresholds." In this sense, recursive functions are a transliminal concept of the program dynamics threshold since one can only understand recursive functions with a good understanding of program dynamics.

We nevertheless decided to keep recursive functions apart from program dynamics. We primarily made this decision for pragmatic reasons. Indeed, we find the program dynamics threshold concept hard to cross for many students. Moreover, understanding recursive functions is still a challenge for those who manage to cross the program dynamics threshold, as will be discussed in Section 4.

The question asked and submitted to debate is to guess the output for the code shown in Listing 4 with the following propositions: For impacting students, the teacher launches the program at the beginning of the institutionalization phase and returns to it at the end to demonstrate that it is still running. Then the teacher shows, with an approximative computation considering the machine can execute 10 9 calls per second (which is more than the reality), that this program will run for about 73 years! The explanation of program dynamics in the presence of recursive calls is supported again by a visual tool we designed to show the evolution of the call tree on the first call to the recursive function with i equals 5.

STUDENTS EXCHANGES DURING DEBATES

This section reports and discusses the arguments given by students during each of the four debates. We collected these arguments during three class instances: fall 2020, fall 2021, and fall 2022.

Program dynamics

Here is the list of the arguments we got from students formulated in our teachers' words:

(1) The character ! cannot be printed since the corresponding print statement is located right after a return statement. (2) The character ! must be printed after for the new season since the print statement is located right after the call to function g. (3) The answer must start with welcome since it is the first print statement. (4) The answer cannot start with welcome since the first print statement executed is the first one not in a function. (5) I do not know anything about error handling, but something must repeat because of a division by zero and retry. (6) with fun is not printed since x is 0 when reaching this line.

These arguments point out that students attending the class already have previous programming experience and know the existence of the program dynamics concept.

Nevertheless, arguments (2) and ( 3) demonstrate that many still need to cross this threshold. In particular, only one-third of the students provide the correct answer on the first vote each year.

While students may have several other misconceptions, they only reported two wrong arguments, as mentioned above. One reason is that getting student participation in this first debate is challenging. Indeed, this debate occurs during the first class of the first day of our computer science curriculum when students had just arrived. Students barely know each other at this time, and speaking in front of others to defend a position is intimidating. Moreover, the pedagogical method is new for them since they only followed transmissive lectures in the context of large classes before reaching our class.

Data structures versus abstract data types

Here are the arguments we collected for the second debate:

(1) It depends on what we insert and, consequently, the ratio between even and odd numbers. (2) The running time of randint(0, nb) increases linearly with the value of nb. (3) The running time of len increases linearly with the list size. (4) The running time of len is constant.

(5) The answer is A. or B. or C. since there is a single loop iterating nb times. (6) It depends on the implementation of insert. [START_REF] Kothiyal | Effect of Think-Pair-Share in a Large CS1 Class: 83% Sustained Engagement[END_REF] The running time of insert is constant. [START_REF] Kothiyal | Think-Pair-Share in a Large CS1 Class: Does Learning Really Happen?[END_REF] The running time of insert increases linearly with the list size.

For this debate, the percentage of correct answers after the first vote is usually around one-fourth. We explain this by the fact that even if most students already have programming experience in Python, they have never been introduced to data structures. Moreover, on this point, Python is a dangerous beast since the actual running time of the insert method depends on where the insertion happens.

On the other hand, Python lists are a good illustration of the importance of data structures. The last three arguments show that some students identified that insert plays a central role in the time complexity of this program. Consequently, the debate here is rich and lets students confront their opposing arguments in their own words.

Here are the arguments we collected for the debate on references:

(1) The answer is white and blue columns because the program only alternates colors inside lines. (2) The answer is white and blue chessboard because the program alternates colors between and inside lines. (3) The answer is white and blue columns because a single list is shared eight times.

The number of correct answers for the first vote is around onethird for this debate. Nevertheless, as the arguments show, some students have the correct answer, but not for the right reason. Again, the correct arguments impact students significantly more when they come from fellow learners rather than the teacher.

Recursive functions

The students defended the following arguments:

(1) The answer is C. because of a recursion depth error. (2) The answer is A. because the base case returns 1.

(3) The answer is B. because each call recurses two times and then sums the two results. (4) I do not know because I cannot anticipate execution. [START_REF] Fernando | Covariation between variables in a modelling process: The ACODESA (collaborative learning, scientific debate and self-reflection) method[END_REF] The answer is C. because elems = [0] * i is dangerous. [START_REF] Guo | Online Python Tutor: Embeddable Web-Based Program Visualization for Cs Education[END_REF] The answer is C. because of computation time problems.

Less than five students provided the correct answer for this debate, even if they all worked a lot on program dynamics during the previous weeks. Hence, it is necessary to spend time on it and to have these few students explain in their own words what happens during the execution of the recursive function.

What conclusions to draw?

The first conclusion we can draw, considering the students' answers and the arguments they defended during debates, is a confirmation that the four concepts we tackle are thresholds. Hence, in our context, it is mandatory to insist on these concepts even if students already have non-negligible programming experience. Indeed, if The second conclusion from our experience is that the teacher must propose a well-calibrated problem to debate a given threshold successfully. It must be difficult enough to get different opinions from the audience, but not too difficult either, as students may struggle to have opinions on something too difficult to understand. More importantly, the problem must focus on the threshold and avoid as many details as possible. For example, the feedback we had animating the debate on recursive functions is that we should remove the * operator to initialize the list with zeros. Indeed, some students got lost on this point they knew to be important from the previous debate on references instead of focusing on the dynamics of recursive functions.

Another evident, nevertheless crucial, element regarding the success or not of a debate is the class's atmosphere. Indeed, it is crucial for students to feel and know they can freely give their arguments without being judged. Here, the teacher plays a central role in ensuring everyone respects every opinion during the debates. While this statement generally concerns the scientific debate method, we believe it is crucial in our programming class context. One reason is that we often have few students genuinely passionate about programmation in front of us that may already have crossed the thresholds. These students may be intimidating to others if they always give the correct arguments during the debate. It happened several times, but thanks to the excellent class atmosphere and the fact that many students did not have already crossed the threshold, these situations led to exciting debates between the few students with the correct arguments and the others, among which wrong arguments convinced some.

STUDENTS FEEDBACKS

For five years, our university has asked students to evaluate classes when they finish. Students can leave comments about the course in a free text field on the evaluation form. We introduced scientific debate in 2020. Also, because of the pandemic that year, only the first two scientific debates occurred. Table 1 summarizes the results of these evaluations concerning the large classes of the BIP course. We accounted for the number of positive and negative feedback explicitly concerning the large classes. The neutral line is the number of students whose feedback only concerns group lab or unplugged sessions and does not mention large classes.

Negative feedback on the large unplugged classes has significantly decreased since we introduced scientific debate. To get more insights from students this year, we asked for explicit feedback on the four debates. We did that at the end of the last debate to collect feedback from the 153 attending students. In this survey, we asked them to numerically indicate their level of agreement with 19 propositions listed on the left part of Fig. 1. A [t] at the beginning of a proposition means teacher. For example, the first proposition means the teacher clearly explained motivations. A [s] means me as a student. For example, the sixth proposition means I had enough individual time to think about the problem as a student. The numerical agreement values proposed were: (1) No reviews (2) Strongly disagree (3) Disagree (4) Agree (5) Strongly agree.

As shown in Fig. 1, we gathered the 19 propositions into three groups: (1) propositions about teacher explanations before the debate; [START_REF] Boustedt | Threshold Concepts in Computer Science: Do They Exist and Are They Useful[END_REF] propositions regarding what happens during the debate;

(3) propositions concerning the institutionalization phase after the debate. In the first group of propositions, the survey asked if the teacher gave clear explanations of different things and if he insisted on the importance of thinking individually to have his own opinion. In the second group, the survey asked students if they had enough time to think and discuss, if they could express their arguments without fear and judgment, and if the teacher wrote and discussed all the arguments and kept the debate focused. In the third group, the survey asked if the teacher linked arguments given during the debate with its explanations and if she kept away details. Finally, still in the third group, students were asked if they perceived the complexity of the threshold and if they thought they still had remaining work to cross it.

From the results of the first group propositions and the [s] understood complexity one in the last group, it is clear that students understood both the pedagogical purpose of scientific debate and the existence of programming threshold concepts and their complexity. It is a good result since, as stated in Section 2, students must be aware of the threshold concepts' existence and importance [START_REF] Sorva | Notional Machines and Introductory Programming Education[END_REF].

The second conclusion from the answers in Fig. 1 is that students were comfortable with this new pedagogical method. As teachers, one of our biggest fears when introducing the method was having few or no student debates. Nevertheless, except for the first debate, as already mentioned in Section 4, it was easy for us to maintain involved participation from students.

Finally, the results in Fig. 1 suggest that we must take more care to highlight diverging arguments and give more time for individual reflection. Indeed, the two associated propositions have the highest number of disagree and strongly disagree responses.

Another survey part was tree free forms for positive points, negative points, and enhancement proposals. In the positive points form, 42 out of the 153 students say the class format helps them stay focused during the class. In the negative part, 16 said the reflection time before the debate was too short, while 2 said it was too long. In the enhancement proposal, 11 students suggested doing more large classes, which we had never seen before introducing scientific debate.

Finally, the survey asked students to give a global note from 1 (bad) to 6 (excellent) on the scientific debate sessions. The average value from the 153 answers is 5.5/6, which confirms that students understood the method and found it beneficial.

CONCLUSION

This paper presented our usage of the scientific debate method in the context of a programming class. The feedback provided by students up to now encourages us to pursue in that direction since it positively impacts students' motivation and concentration.

Also, even if this could have been identified by other means, students' vote results and arguments during debates indicate that many students have not crossed programming thresholds when they reach our curriculum. It is a logical conclusion of the nature of threshold concepts: they take time to be crossed. From our teacher's perspective, this suggests that we need to keep a closed eye on students' understanding of these concepts.

As a final note, the move to scientific debate has been a stimulating experience from the teacher's point of view. It forced us to sit together to identify and agree on the thresholds. Also, scientific debate requires us to adopt a different role than what we are used to in transmissive lectures. Although it was not easy initially, this was a challenging experience for us teachers.

  def do_stuff(nb): 1 r, m = [], 0 2 for _ in range(nb):

3 i

 3 = randint(0, nb) 4 if is_odd(i):

20 Listing 2 :

 202 Problem to debate about data structures

•

  A. 100 × (𝑛𝑏 × 𝑥) with 𝑥 < 1000 • B. 100 × (𝑛𝑏 × 𝑥) with 𝑥 < 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 • C. 100 × (𝑛𝑏 × 𝑥) with 𝑥 depending on the results of randint • D. more than the 3 answers above • E. something else This simple program allows students to intensely discuss data structures even if they have never heard about the term. Indeed, most have already used Python list objects and know they can insert and remove elements from them. Nevertheless, only some have already wondered what is happening behind the scenes. Explicitly asking for counting CPU instructions force them to think about what happens internally and introduces the distinction between the operations available on a Python list (the abstract data type) and how the interpreter implements it (the data structure).

1 for i in range( 8 24 Listing 3 :return 1 4 12 Listing 4 :

 182431124 white and blue columns • B. white and blue lines • C. white and blue chessboard • D. something else Again, despite its apparent simplicity, this program allows students to dig into the concept of references deeply. Indeed, many students have already encountered the * operator. However, few have ever been interested in what its use implies and what a Python list contains in the interpreter. def print_stuff(s): \u2588" # rectangle 9 t = colored(f"{r}{r}",c) 10 print(t, end="") Problem to debate about references def m(i, elems): return m(i -1, elems) + \ 5 m(i -1, elems) 0] * (i + 1) 11 print(m(i, elems), elems) Problem to debate about recursive functions

•

  A. two lines with several 1 on each line • B. two lines with several powers of two on each line • C. something else This simple program contains the required material to debate about recursive functions. Indeed, to be able to anticipate what will happen when running the program, students must scientifically engage themselves in a deep reflection.

Figure 1 :

 1 Figure 1: Students feedback on scientific debates

  in BIP we'll work welcome for the season 2223 which gonna be • C. in BIP we'll work with fun welcome for the season 2223 which gonna be • D. in BIP we'll work with fun welcome for the season 2223 which gonna be cool • E. in BIP we'll work with fun welcome for the season 2223 which gonna be Repeat: welcome for the season 2223 which gonna be cool • F. in BIP we'll work with fun welcome for the season 2223 ! which gonna be Repeat: welcome for the season 2223 which gonna be cool

			def i(x, y)	24
			print " which "; j(x, y)	25
			print "cool"	26
			end	27
				28
			def j(y, x)	29
			print "gonna be "; y/x	30
			end	31
				32
			print "we'll work"	33
			x = -1	34
			begin	35
			x += 1	36
			if not 7 <= (6 + x) then	37
			print "with fun "	38
			else print "Repeat: "	39
		17	end	40
	if ch == ")" then break	18	f()	41
	elsif ch == "(" then next 19	h("22(23)!")	42
	end	20	i(42, x)	43
	print ch	21	rescue	44
	end	22	retry	45
	end	23	end

46 Listing 1: Problem to debate about program dynamics • A. welcome in BIP for the season 2223 which gonna be I repeat: welcome for the season 2223 which gonna be cool • B.

Table 1 :

 1 Students global feedback over the years most of them had crossed the four thresholds, we would have expected to get a significant fraction of correct answers to each of the four problems, and the debates would have been sterile. That was not the case. Said differently, students need time to cross threshold concepts. That is why we believe the first programming class of a computer science curriculum must insist on these thresholds even if many students already have previous programming experience.

		2018 2019 2020 2021 2022
	positive	8	7	4	13	4
	neutral	44	38	49	37	27
	negative	29	21	1	3	0

every year before the first debate, we ask students what are the programming languages they already used and very few mention Ruby.


Christopher Aj Wibberley

Elodie Saillet

teaching and research institutions in France or abroad, or from public or private research centers.

Fault growth in high porosity sandstones: A field study in the "Bassin du Sud-Est", Provence, France C.A.J. Wibberley (1,2) and E. SAILLET (1)

(1) Université de Nice Sophia Antipolis, UMR Géosciences Azur, Valbonne, France (saillet@geoazur.unice.fr), (2) Now at TOTAL -Exploration et Production, CSTJF, Pau, France (christopher.wibberley@total.com)

Faulting in porous sandstone produces zones of deformation bands rather than planar fracture surfaces. Cataclastic deformation bands (CDBs) are brittle shear zones that form through the combined effects of compaction and cataclasis. Porosity and grain size reduction associated with CDBs formation cause strain hardening, and the result is the initiation of a new band, adjacent to the first. Beyond a poorly understood scale limit, continued deformation may result in the development of localised slip surfaces and/or ultracataclastic fault zones at the edge of clusters of deformation band zones. However, the mechanical causes and consequences of this localisation are not clear.

Deformation structures in Cretaceous high-porosity sands and sandstones from the "Bassin du Sud-Est" (France) are cataclastic deformation bands (CDBs) and a lower number of larger-displacement ultracataclastic faults. Different study areas within the Bassin du Sud-Est were subjected to different tectonic histories, allowing us to examine: (i) the role of tectonic loading path on CDB network development, and (ii) the development of larger ultracataclastic faults.

(1) For a study area which had been subjected mainly to Pyrenean-Provençal shortening, a 250 m long outcrop recorded a persistent high density of sets of reverse-sense conjugate deformation bands which did not appear to cluster around any mapped faults. In this case, a high density of one of the conjugate sets of CDBs inhibits generation of the other conjugate set. This high density is confined to a >10m thick high-porosity sandstone bed.

(2) For two study areas which had experienced significant Oligocene-Miocene extension, a moderate, undulating background density of normal-sense CDBs was recorded, which became focussed into clusters in places. Later, larger ultracataclastic faults and discrete slip planes are found localised within or at the edges of some of the CDB clusters, but other clusters are present without larger faults within them, suggesting that these clusters may be prior expressions of deformation localisation before generation of the larger faults. These field data from the Bassin du Sud-Est suggest the influence of previous structural heritage on further fault network growth. Other factors can also influence CDB growth, such as host grain size, with coarse sandstones having thicker CDBs. Along with bed thickness; host grain size could therefore also be an important contributor to the scale limit in CDB growth.


Changqing Fu

Laurent D Cohen
email: cohen@ceremade.dauphine.fr

Conic Linear Units: Improved Model Fusion and Rotational-Symmetric Generative Model

Keywords: Generative AI, Deep Learning for Visual Understanding, Machine Learning Technologies for Vision

We introduce Conic Linear Unit (CoLU), a natural generalization of commonly used activation functions in neural networks. The common pointwise ReLU activation is a projection onto the positive cone and is permutation symmetric. We propose a nonlinearity that goes beyond this symmetry: CoLU is a skew projection onto a hypercone towards the cone's axis. Due to the nature of this projection, CoLU enforces symmetry in a neural network with width C from the finite-order permutation group S(C) to the infinite-order rotation/reflection group O(C -1), thus producing deep features that are motivated by the HSV color representation. Recent results on merging independent neural networks via permutation modulus can be relaxed and generalized to soft alignment modulo an optimal transport plan (Singh and Jaggi, 2020), which is useful in aligning models of different widths. CoLU aims to further alleviate the apparent deficiency of soft alignment. Our simulation indicates that CoLU outperforms existing generative models including Autoencoder and Latent Diffusion Model on small or large-scale image datasets. Additionally, CoLU does not increase the number of parameters and requires negligible additional computation overhead. The CoLU concept is quite general and can be plugged into various neural network architectures. Ablation studies on extensions to soft projections, general L p cones, and the non-convex double-cone cases are briefly discussed.

INTRODUCTION

Scaling up neural networks is one thing, while reducing their redundancies is quite another. Aligning/Fusing different models into a canonical form [START_REF] Ashmore | A method for finding similarity between multi-layer perceptrons by forward bipartite alignment[END_REF] is a useful way to simplify the model structure and reduce its redundancy. In the mean time, practically speaking, alignment enables different models to collaborate with each other. The term alignment in this context refers to fixing a base model and transforming any alternative ones so that the alternative model is very similar, if not equivalent, to the base model. This similarity, in our setting, is defined as the fact that both models can be linearly interpolated without losing much performance. In the generative model case, the effect of alignment is illustrated in figure 1, showing that the weights of aligned models can be linearly interpolated to obtain a model which performs well. In other words, the symmetry of the model's function space (visualized by the symmetry of the triangle in figure 1) is represented by a https://orcid.org/0000-0002-4485-9824 b https://orcid.org/0000-0002-3940-645X Fixing a base generative model GM0, alternative models GM1, GM2 at different local minima on the loss landscape are aligned as GM1'=Align(GM1), GM2'=Align(GM2). Before the alignment, the linear interpolation between GM0 and GM1/GM2 has increased loss, whereas after the alignment, this increase is reduced.

symmetry group P (permutations), and we aim to let the quotient space (defined in section 2) modulo P be regular, in the sense that we hope the aligned models to be close to the base model, so that they can be merged via linear interpolation. However, existing alignment methods are often rough due to the narrow function space of the network's nonlinearities. For example, for the widelyused pointwise activation functions, the equivariance is associated with permutations. We propose a better design which enables smoother fusion. Meanwhile, it is intriguing that the new structure outperforms existing ones under certain validation criteria for various generative tasks.

Model Fusion

First of all, why do we need model fusion? We list several aspects from both applied and theoretical perspectives.

Practical Uses First, in the federated learning setting when the training task is distributed to local agents, fusion is a way to aggregate the parallelized training subtasks and synchronize the local models to obtain a global result (Wang et al., 2020a). Second, in the knowledge distillation setting when there is no access to training data such as for safety reasons, fusion makes it possible to directly ensemble models from multiple teacher models as an alternative to aggregating the training data. Third, in the transfer learning setting, the expensive computation overhead of re-training from scratch is saved by utilizing the information in multiple pre-trained models.

Theoretical Benefits First, geometry: associated with the correspondence between the aligned models is the symmetry of the network architecture's function space: the intuitive exchangeability of the hidden feature maps is algebraically characterized by the permutation modulus. In other words, CNN is equivariant under channel permutation group. Different forms of group equivariance has led to network designs with better efficiency and generalization ability. Second, optimization: learning the parameters of a neural network is a non-convex optimization problem. Alignment reshapes the loss landscape and largely convexifies it. Consequently, the training process largely converges to a minimum which is unique up to a transformation group. Third, probability: a fully-connected (or convolutional) layer is a linear ensembling among neurons (or feature maps) of previous layers. Fixing a certain set of trained neurons as the key's dictionary, alignment is used to de-anonymize an arbitrary set of neurons so that the activating behavior of an individual neuron at the same index follows the same pattern. The de-anonymization is deterministic, meaning each neuron is assigned an unrepeated key with probability 1.

Probabilistic Fusion

Then a natural question arises: what if the widths of the models to be aligned differ from each other? It's evident that deterministic assignment is not feasible when fusing models of varying width. In this unbalanced case, the assignment constraint can be relaxed by optimal transport. In a probabilistic sense, each key (channel index) is not deterministically assigned to a neuron, but instead a fuzzy mixture of neurons, whose probability values sum up to 1 [START_REF] Singh | Model fusion via optimal transport[END_REF]. However, the model formed by the new set of neurons, each as a multi-identity mixture, does not behave the same way as in the unaligned model, since activating each individual neuron is no longer feasible. To resolve this apparent deficiency naturally caused by the relaxation, re-designing a more symmetric function is a must. Conic Linear Unit: From RGB to HSV The proposed activation is termed as Conic Rectified Linear Unit (abbreviated as CoReLU or CoLU for short), named after Rectified Linear Unit (ReLU). The pointwise ReLU is generalized to pixel-wise CoLU in the following way.

In the special case of three channels, CoLU is naturally motivated by switching from Red-Green-Blue (RGB) to the Hue-Saturation-Value (HSV) color representation, visualized in figure 2. ReLU is attending to perceptible color defined by the positive octant, where color components which are too dark (negative-valued) are not perceivable (mapped to zero). Instead of ReLU which preserves positive values, CoLU preserves low values on saturation, which means saturation values larger than a threshold value (proportional to the luminosity value) are mapped to the maximal threshold.

In high dimensions as is shown in figure 3, where the token space does not represent a color, migration from the positive hypercone to the round hypercone motivates CoLU in hidden layers. Closed-form formula of CoLU is detailed in section 3.

R G B (1, 0, 0) (0, 1, 0) (0, 0, 1) O 1 = (1, 1, 1) O V S H Hu e e1 = (1, 0, 0) C h r o m a Value c1 c2 c3 • • • O 1 = (1, 1, . . .) O c1 c2 c3 • • • S C≠1 e1 = (1, 0, . . .) Îx≠1Î2 x1

Contributions

We propose CoLU, a class of activation functions which present convolutional neural networks with rotational symmetry in the channel dimension. In principle, CoLU achieves improved soft alignment using optimal transport which is useful in federated learning. Intriguingly, CoLU outperforms baseline generative models on several tasks.

Organization of Sections

After introducing preliminaries in section 2, we define CoLU in section 3, and describe the fusion algorithm in section 4. Quantitative improvements of conic activation and high-resolution generation results are presented in section 5.1. Then, weight alignment for both recognition and generative models are experimented in section 5.2. Related works are discussed in section 6 and the paper is concluded in section 7.

PRELIMINARIES

Consider a neural network learned on paired data (x 0 , y), where the input and output are sampled from random variables following some data distribution (x 0 , y) ∼ µ. The network is parameterized with weight W = {W ℓ } T ℓ=1 trained from initialization W ∼ π, and the layer outputs are a sequence of hidden states {x(ℓ)} T ℓ=0 , with terminal layers being the input x(0) = x 0 and output x(T ) = y respectively. Definition 1 (Equivariance). A group P's action on a space M is defined by P × M → M, (P, x) → Px, ∀P ∈ P, x ∈ M. A function f : M → M is said to admit the group P, or being equivariant under group action P if and only if the function commutes with the left multiplication as f • P = P • f , ∀P ∈ P. Here P is called an alignment. Definition 2 (Hidden State Alignment). Two hidden states x (0) (ℓ) and x (1) (ℓ) are equivalent up to an alignment if and only if there exists an alignment P such that x (1) (ℓ) = Px (0) (ℓ), denoted as a relation x (0) (ℓ) ∼ P x (1) (ℓ). Two neural networks are equivalent if and only if all hidden states are equivalent, that is ∀ℓ = 1, . . . , T -1, x (0) (ℓ) ∼ P x (1) (ℓ), denoted as x (0) ∼ P x (1) . Example 1 (CNN with Pointwise Activation). The CNN's symmetry group P is channel permutations. A CNN (without skip connections) is defined by

x(ℓ + 1) = W ℓ ⋆ λ(x(ℓ))
(1) where λ is a pointwise activation such as ReLU, and the convolution is defined as

(w ⋆ x)(σ, ω 1 , ω 2 ) = ∑ C ′ σ ′ =1 ∑ (ω ′ 1 ,ω ′ 2 )∈Ω ′ x(σ ′ , ω 1 + ω ′ 1 , ω 2 + ω ′ 2 )w(σ, σ ′ , ω ′ 1 , ω ′ 2 )
where Ω ′ is a small convolution window.

The channel permutation group is defined as P = S(C) := {P ℓ ∈ R C×C :

∃ permutation σ, (P ℓ ) i j = 1 { j=σ(i)} ∀i = 1, . . . ,C}.

Proof. Pointwise activation function commutes with permutation as Pλ(x) = λ(Px), and since the alignment is along the channel axis, by exchanging the order of multiplication and sum in the definition of convolution, we obtain (PW) ⋆ x = W ⋆ (Px). Therefore x → W ℓ ⋆ λ(x) and P commutes.

Theorem 1 (Weight Alignment). The CNN's hidden state alignment is equivalent to weight alignment. The weight alignment is defined as W

(1)

ℓ = P ℓ W (0) ℓ P -1 ℓ-1 , ∀ℓ = 1, . . . , T -1, and denoted as W (0) ℓ ∼ P W (1) ℓ .
Proof. Fix a base neural network with states x (0) (ℓ) and parameters W (0) ℓ . By definition of hidden state alignment, equation 1 is written as

P -1 ℓ x (1) (ℓ) = W (0) ℓ ⋆ λ(P -1 ℓ-1 x (0) (ℓ -1))
where P is a group element and hence invertible. Since pointwise activation is equivariant under permutation, this is equivalent to

x (1) (ℓ) = P ℓ-1 W (0) ℓ ⋆ P -1 ℓ-1 λ(x (0) (ℓ -1))
Finally by equivariance of convolution under channel permutation we obtain x (1) (ℓ) = P ℓ W (0)

ℓ P -1 ℓ-1 ⋆ λ(x (0) (ℓ -1)).
Definition 3 (Quotient Space). The set of equivalent classes is defined as [x] = {y ∈ M : x ∼ y} where x ∈ M is called a representative. Given a relation ∼ P on a space M, the quotient space denoted by M/ ∼ P or simply M/P is defined as the set of equivalent classes M/ ∼ P :

= {[x] : x ∈ M} ⊂ 2 M .
Conjecture 1 (Fusion by Linear Interpolation). Two neural network weights W (0) ℓ and W

(1) ℓ

with the same structure (probably with different channel sizes), which are obtained by different data and initialization (π (0) , µ (0) ) and (π (1) , µ (1) ) respectively, have representatives which can be interpolated so that the loss function remains low on the interpolated weight.

(π (0) , µ (0) ) W (0) (π (1) , µ (1) ) W (1) Optim Optim Align x(0) W (0) 1 W (1) 1 x (0) (1)
x (1) (1)

W (0) 2 W (1) 2
x(2) The alignment is illustrated in figure 4. To facilitate our conjecture of model fusion, a new class of activation functions is designed so that it admits a larger (infinite-order) alignment group namely (C -1)channel rotations around the first axis

P 0 P -1 1 P 1 P -1 2
P := {P ℓ ∈ R C×C : P ℓ [2, . . . ,C; 2, . . . ,C] ∈ O(C -1)}, where O(C)
is the set of C-dimensional orthogonal matrices.

CONIC LINEAR UNITS

Projective Form Let x = (x 1 , . . . , x C ) be the input of the activation function where C is the network width.

Inspired by ReLU

ReLU

(x) = Proj V + (x) = x + (2) whose projected cone V + = R C ≥0 = {x ∈ R C : x i ≥ 0, i = 1, . . . ,C} is the positive cone, CoLU is defined as CoLU(x) = Proj V ∩H(x) (x) = argmin y∈V (y-x)⊥e ∥y -x∥ 2 , (3)
where the hypercone is V = {x ∈ R C : ∥x ⊥ e ∥ 2 ≤ tx • e} with e being the unit vector in the axis direction,

x = x • e + x ⊥
e , meaning x e is parallel to e and x ⊥ e is perpendicular to e, and the cone's cross-section hyperplane is H(x) = {y ∈ R C : y • e = x • e} whose normal vector is e. t > 0 is the tangent value of the opening angle of the cone. We set t = 1 and e = e 1 = (1, 0, . . . , 0) without loss of generality.

In comparison of pointwise activations, CoLU is attending to the round hypercone instead. The two dimensional case is illustrated in figure 5. Closed Form CoLU is closed-form and autodifferentiable activation as a drop-in replacement of pointwise activations.

CoLU(x)

i = x1 V + (x 1+ e 1 + x 1 ∥x -1 ∥ x -1 )1 V c = clamp(x 1 ∥x -1 ∥, 0, 1)x i , i = 2, . . . ,C max{x 1 , 0}, i = 1 (4)
where x -1 = (0, x 2 , . . . , x C ), clamp(x, a, b) = min{max{x, a}, b}, V c is the complement set of V ⊆ R C , and ∥ • ∥ is the L 2 norm. In practice, ∥x -1 ∥ is replaced with (∥x -1 ∥ + ε) where ε is a small constant, for numerical stability.

Extensions of Conic Linear Unit

Soft Projection Inspired by Sigmoid-Weighted Linear Units (SiLU) SiLU(x) = x sigmoid(x), CoLU can be relaxed as a soft projection.

CoSiLU(x) i = sigmoid(x 1 ∥x -1 ∥ -0.5)x i , i ≥ 2 max{x 1 , 0}, i = 1 (5)
L p -Cones CoLU can also be extended to the case of L p cones where p ∈ R + ∪ {∞}.

CoReLU p (x) i = clamp(x 1 ∥x -1 ∥ p , 0, 1)x i , i ≥ 2 max{x 1 , 0}, i = 1 (6)
Non-convex Double-Cones Replacing the cone with a signed cone,

CoReLU ± (x) i = clamp(x 1 ∥x -1 ∥, -1, 1)x i , i ≥ 2 x 1 , i = 1 (7)
4 MODEL FUSION

Model Alignment

With proper permutations, the aligned weights

P ⊤ ℓ-1 W (1)
ℓ P ℓ live in the same basin with the reference model relatively. More precisely, define interpolated weight as

W (λ) ℓ = (1 -λ)W (0) ℓ + λP ℓ W (1) ℓ P ⊤ ℓ-1 , λ ∈ [0, 1], ( 8
)
then the loss barrier L(W (λ) ) as a function over λ is a concave function for P ℓ = I, ∀ℓ = 1, . . . , T , and this barrier is largely flattened after the alignment, illustrated in figure 8 in the experiment session.

Algorithm 1: Soft Alignment via Optimal Transport Data: W (0) , W (1) ; // Base and Alternative Models Result: P = argmax

P ℓ ∈Π(1,1) ∑ T ℓ=1 ⟨W (0)
ℓ , P ℓ W

(1)

ℓ P ⊤ ℓ-1 ⟩ F P ℓ ← I C ℓ ; // Initialization ε ; // Small Constant S, S prev ← -∞ ; repeat S prev ← S ; for ℓ ← RandPerm({1, . . . , T -1}) do P ℓ ← argmax P ℓ 1=1,P ℓ ⊤ 1=1 ⟨W (0) ℓ , P ℓ W (1) ℓ P ⊤ ℓ-1 ⟩ F + ⟨W (0)
ℓ+1 , P ℓ+1 W

(1)

ℓ+1 P ⊤ ℓ ⟩ F ; end S ← ∑ T ℓ=1 ⟨W (0) ℓ , P ℓ W (1) ℓ P ⊤ ℓ-1 ⟩ F ; until S ≤ S prev + ε;

Optimal Alignment

The algorithm to find the optimal permutation is maximizing the Frobenius product between the reference model and the aligned model, by using either the weights or activations. Both cases are referred to as weight matching and activation matching respectively, and we focus on the first method which doesn't require training data. It reduces to a Sum of Bilinear Assignment Problem (SOBAP), and is approximated by solving the Linear Assignment Problem sequentially in a greedy manner, whose convergence is analyzed in [START_REF] Ainsworth | Git re-basin: Merging models modulo permutation symmetries[END_REF].

Each permutation P ℓ for ℓ = 1, . . . , T -1 takes the form of a permutation matrix P ∈ S(C ℓ ). The linear assignment problem is stated as max

P ℓ ∈S (C ℓ ) ⟨W (0) ℓ , P ℓ W (1) ℓ P ⊤ ℓ-1 ⟩ F + ⟨W (0)
ℓ+1 , P ℓ+1 W

(1)

ℓ+1 P ⊤ ℓ ⟩ F (9)
where the input and output channel spaces are fixed and not aligned, meaning P 0 = I C 0 , P T = I C T . Equivalently, the linear optimization objective in equation 9 can be written as ∑ C i, j=1 C i j P i j .

Algorithm: Optimal Transport

The constraint of permutation matrices P ℓ ∈ S(C ℓ ) can be relaxed to probabilistic assignment matrices whose marginals are ones in both dimensions Π(1, 1) = {P ∈ R C×C : ∑ i P i j = ∑ j P i j = 1, ∀i, j}, also known as bistochastic matrices. This is useful especially in the more general case when the layer width C ℓ differs between the two models, and it can be solved with optimal transport. Using entropic regularization and the Sinkhorn's algorithm, the time complexity can be accelerated from O(C 2 ) by Linear Programming to O(C) by fixed-point method. The Kantorovich relaxation of optimal transport problem is stated as: min

P1=1, P ⊤ 1=1 C ∑ i, j=1 C i j P i j + εH(P) (10)
where the cost matrix C is given in equation 9, and H(P) = -P i j (log P i j -1) is an entropic regularization term scaled by ε > 0. However, the relaxation of Optimal Transport breaks the model, since a neural network is permutation equivariant, but not channelwise interpolation equivariant. Figure 6 explains the reason why CoLU leads to seamless fusion, which is the fact that the distance between interpolation (L 1 level set) and rotation (L 2 level set) spaces are closer than the one between interpolation and permutation. Note that the CoLU symmetry is on R C-1 excluding the first dimension, and Π(1, 1) is a relaxed constraint and works empirically. Two tasks are experimented: image reconstruction task with autoencoder with regularization of Generative Adversarial Networks (GAN), and in image generation with Diffusion Models (DM).

EXPERIMENTS

Generative Performance of CoLU

Image Reconstruction We follow the autoencoder architecture in [START_REF] Rombach | High-resolution image synthesis with latent diffusion models[END_REF] to build a vari-ational autoencoders enhanced with GAN and perceptual loss regularizations, and replace the Sigmoid Linear Unit (SiLU) activation with CoSiLU in equation 5 The model is trained on the CIFAR10 dataset (Krizhevsky and Hinton, ).The models are trained using 8×NVIDIA A100 GPUs until convergence, which typically occurs around 200 ∼ 300 epochs. The hyperparameters involve a base learning rate of 10 -7 , a batch size of 64, and other parameters as stated in LDM. Multiple evaluation measures are validated including peak signal-to-noise ratio (PSNR), Inception Score (IS) [START_REF] Salimans | Improved techniques for training gans[END_REF], Kernel Inception Distance (KID) [START_REF] Bińkowski | Demystifying MMD GANs[END_REF], and Structural Similarity Index Measure (SSIM) [START_REF] Wang | Image quality assessment: from error visibility to structural similarity[END_REF]. The results are shown in table 1, where CoSiLU is found to outperform baseline (SiLU) under these criteria.

High-resolusion Image Generation Then we validate CoSiLU on FFHQ [START_REF] Karras | A style-based generator architecture for generative adversarial networks[END_REF] and AFHQ [START_REF] Choi | Stargan: Unified generative adversarial networks for multi-domain image-to-image translation[END_REF] datasets. It is shown that on both datasets, CoSiLU-based diffusion models produces sharp results and work on par with SiLU activation. Generated high-resolution images trained on FFHQ are shown in figure 7. Fusing Recognition Models Alignment of MNIST recognition models are performed on the same network as above with three fully-connected layers and two nonlinearities. As is shown in figure 8, both CoLU and ReLU aligns models with permutation modulus or optimal transport, which applies to networks with varying width.

Model Fusion

Fusing Generative Models CoLU was designed aiming at a goal of merging generative models. Figure 9 shows partial milestone towards this goal, namely it's possible to align two super-resolution model so Before After that their interpolation path is closer to the groundtruth of the output. Here it shows a lightening of the output. The super resolution model follows ESPCN [START_REF] Shi | Realtime single image and video super-resolution using an efficient sub-pixel convolutional neural network[END_REF], where all settings follow the original work. We observe an alleviation of the darkening effect after alignment. The base model and the alternative model are initialized with independent and identically distributed weights.

Figure 10 is another result showing that diffusion model might be a more suitable choice than singlepass generative models for fusion via interpolation. The interpolating effect between two dependent diffusion models. Instead of aligning, the right image is output by a model fine-tuned from the model on the left, using three images shown on the right. The generated images are of resolution 256x256 without perceptible degradation of quality. The smooth interpolation and sharp outcome presents the feasibility of merging dependent models by linear interpolation.

RELATED WORKS

Equivariant Network Convolutional weight sharing [START_REF] Lecun | Handwritten digit recognition with a back-propagation network[END_REF] is a successful example of imposing spatial homogeneity on the 2D image canvas as a successful a priori assumption upon the network architecture. The introduction of CoLU considers new homogeneity on the channel dimension. More generally, [START_REF] Weiler | General e (2)-equivariant steerable cnns[END_REF]) conducts a review on equivariant nonlinearities in neural networks and studies certain special forms of nonlinear functions, such as point-wise activations, individual subspace (pixelwise) activations, norm nonlinearities, etc., which do not cover the case of CoLU.

Disentangling the Channel Dimension Related to the permutation equivariance is the homogeneity of the channel indice's space. It is a crucial subject in convolutional neural networks since it has been proven that local spatial correlation can be sufficiently characterized with deterministic wavelet filters [START_REF] Bruna | Invariant scattering convolution networks[END_REF]. Combined with learned pixel-wise linear transform, or 1-by-1 convolution, invariant scattering networks are sufficient to achieve high performance in recognition tasks. Therefore, disentangling the channel dimension is the missing ingredient in simplifying neural networks, where various assumptions can be imposed. For instance, sparsity as strong as block-diagonal in the channel dimension results in group convolution. Orthogonality results in spectrumpreserving weights. In the case of convolutional neural networks, the authors of [START_REF] Wang | Orthogonal convolutional neural networks[END_REF] propose an orthogonality-inducing regularization term to ensure that the convolutional weights are empirically orthogonal. The link to CoLU is close since the symmetric property of CoLU is exactly pixel-wise rotation/reflection equivariance, which bridges the gap of the symmetry bottleneck caused by the permutationrestrictive point-wise activations.

Model Alignment Merging trained models by exploiting permutation symmetry of pointwise activations has led to a fruitful line of research [START_REF] Ashmore | A method for finding similarity between multi-layer perceptrons by forward bipartite alignment[END_REF]Wang et al., 2020a). Recently in [START_REF] Ainsworth | Git re-basin: Merging models modulo permutation symmetries[END_REF], deep recognition models like ResNet-50 are also align-able by deterministically matching weights. We continue on this path and further explore the merit of a more symmetric activation function to improve the merging effect, on both recognition and generative models.

CONCLUSION

We have introduced a new class of activation functions called Conic Linear Units. Our contribution allows neural networks to possess infinite-order group symmetry beyond channel permutations, which was previously unattainable. This novel design addresses the apparent deficiency by incorporating soft-alignment through optimal transport in scenarios like federated learning. Moreover, it outperforms baseline results in terms of image generation quality.

Figure 1 :

 1 Figure1: Model Fusion. Fixing a base generative model GM0, alternative models GM1, GM2 at different local minima on the loss landscape are aligned as GM1'=Align(GM1), GM2'=Align(GM2). Before the alignment, the linear interpolation between GM0 and GM1/GM2 has increased loss, whereas after the alignment, this increase is reduced.

Figure 2 :

 2 Figure 2: Conic Linear Unit (three-channel case). Left: ReLU. Middle: equivalent projective illustration of ReLU. Right: projective illustration of CoLU. With axes denoted as R, G, B, a 3D vector inside the positive cone represents a RGB color, and is visualized in the 3D space. Any points outside the cone is not visualized since the vector does not represent a color. The arrows point from the input to the output of the activation function.

Figure 3 :

 3 Figure 3: Conic Linear Units, from 3 to many channels. Top: cartesian axes of positive cones of ReLU and CoLU in three dimensions. Bottom: generalizations to high-dimensional space.

Figure 4 :

 4 Figure 4: Model Fusion. Top: different models (independently trained on different datasets or initializations) coincides in the same loss basin by means of weight alignment. Bottom: diagram of the per-layer channel alignment P ℓ .

Figure 5 :

 5 Figure 5: ReLU and CoLU's projective cone in 2D.

Figure 6 :

 6 Figure 6: Geometry of point-wise activations (L 0 ) versus CoLU (L 2 ) and their closeness to OT space.

Figure 7 :

 7 Figure 7: Generation results of CoLU-LDM on FFHQ.

Figure 8 :

 8 Figure 8: Seamless Model Fusion. Loss function along the linear interpolation between two models independently trained from different initializations of fully-connected models on MNIST dataset. The blue line is naïve interpolation, and the red line is interpolation after alignment. Left: ReLU network with permutation alignment. Right: CoLU network with soft alignment. Both alignments successfully align alternative models towards the base one.

Figure 9 :

 9 Figure 9: Fusing generative models. Outputs of models whose parameters are interpolated between two super-resolution models trained from different initializations. Top row: no alignment. Bottom row: the second model is aligned towards the first model, where intermediate outputs are brighter.

Figure 10 :

 10 Figure 10: Fusing fine-tuned models. Outputs of interpolated models between a Diffusion Model with parameters W 0 and a Diffusion Model with parameters W 1 fine-tuned from the previous model on the dataset of three cat images on the right. More precisely, the 6 left images represent the outputs from a diffusion model whose parameters are W = (1λ)W 0 + λW 1 where λ = 0, 1 5 , 2 5 , 3 5 , 4 5 , 1. λ = 0 corresponds to no fine-tuning and λ = 1 corresponds to the fine-tuned model.

ACKNOWLEDGEMENT

This work was funded in part by 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). This work was granted access to the HPC resources of IDRIS under the allocation 2022-AD011013178 made by GENCI, and supported by cloud TPU from Google's TPU Research Cloud (TRC). We thank Irène Waldspurger, Gabriel Peyré and Grégoire Szymanski for insightful suggestions on the draft of the paper.


Anne Sophie Colas

Jean Claude Morel

Denis Garnier

Anne-Sophie Colas
email: anne-sophie.colas@ifsttar.fr

Jean-Claude Morel

A-S Colas

J-C Morel

the stability of stone-facing embankments

Keywords: Masonry facing, embankment, rockfill dam, dyke, upper-bound solution

Upper-bound solution for the stability of stone-facing embankments

Upper-bound solution for the stability of stone-facing embankments 1 Introduction

Embankments are hydraulic structures built to retain -called dams, or preventcalled dykes, water. They are generally made of earthfill or rockfill, covered with concrete, asphalt or masonry. These structures are difficult to model considering the heterogeneous nature of the material composing the embankment and the interface with its facing. Indeed, the loadings acting on the structure are complex: in addition to the unit weight, water action and even seismic risks should be taken in consideration. In this study, it has been decided to concentrate on a static analysis of masonry facing embankments.

Only few studies are dedicated to stone-facing embankment structures: they concentrate on masonry rockfill dams and resort to Distinct Element Method (DEM) [START_REF] Deluzarche R ; R | Modélisation discrète des enrochements -application aux barrages[END_REF][START_REF] Deluzarche R ; R | Modélisation discrète des enrochements -application aux barrages[END_REF][START_REF] Tran | Discrete modelling of rock-ageing in rockfill dams[END_REF][START_REF] Bretas | Hydromechanical analysis of masonry gravity dams and their foundations[END_REF][START_REF] Bretas | A DEM based tool for the safety analysis of masonry gravity dams[END_REF]. DEM has been developed to deal with discontinuous media, which are treated as an assembly of elements linked with contact interactions. In these studies, rockfill is modelled as composed of discrete blocks, with the objective to evaluate the safety of the structure. These studies provide exhaustive information on the behaviour of stone-facing rockfill dams at failure but require quantitative and qualitative information on the mechanical properties of the constituent materials, and can prove time-consuming.

The model presented here resorts to yield design theory. Yield design relies on the compatibility between the equilibrium of the structure under consideration and the resistance of its constituent materials in order to formulate a rigorous analytic expression of the upper-bound solution to its stability problems. It has been already used to model jointed rock mass [START_REF] Bekaert | Failure design of jointed rock structures by means of a homogenization approach[END_REF] and masonry retaining walls (Colas et al 2010a[START_REF] Colas | Assessing the two-dimensional behaviour of drystone retaining walls by full-scale experiments and yield design simulation[END_REF]. The paper focuses on the application of this theory to the specific modelling of stone-facing embankments. First, the model is introduced and an analytical expression of the upper-bound solution for stone-facing embankments is presented. A case study is proposed, consisting in the structural evaluation of an existing dam. Finally, comparison with DEM results and parametric analyses are undertaken to assess the robustness of the model.

2 Analytic upper-bound solution for stone-facing embankment

l v m1 v m2 v s γ m γ s γ m h r2 h h r1 φm φs φm Ψs λ 1 λ 2 y x α α α b O C R 2 B A R 1 a
Fig. 1 Yield design upper-bound approach of a stone-facing embankment submitted to a rotation of gravity of angle α.

Introduction to yield design principles

According to yield design theory [START_REF] Salençon | An introduction to the yield design theory and its application to soil mechanics[END_REF][START_REF] Salençon | Yield Design[END_REF], the stability of a structure is based on the compatibility between static equilibrium under prescribed loading and strength verification at any point of its constituent materials. Two approaches have been implemented in this framework:

the static approach, which consists in finding stress fields σ in the strength domain G to provide a lower estimation of the extreme loading domain K:

σ ∈ G ⇒ Q ∈ K (1)
the kinematic approach, which boils down to dualizing the static approach through the principle of virtual works to provide an upper-bound estimation of the extreme loading :

Q ∈ K ⇒ P e ≤ P rm = V π(d) dV + S π(n, v ) dS (2)
where π(d) and π(n, v ) are the support functions of the strength domain G defined by:

π(d) = sup σ∈G σ : d (3) π(n, v ) = sup σ∈G σ . n . v (4)

Geometrical and physical characteristics

The static approach consists in finding stress fields ensuring the previous condition, thus giving a lower estimation of the extreme loading. The kinematic approach, which can be derived by dualizing the static approach through the principle of virtual work, provides an upper-bound estimation of the extreme loading

Geometry. The structure (Fig. 1) is composed of an embankment of height h and thickness at the top l. The structure will be treated in plane strain. The crosssection of the embankment has a trapezoidal shape: downstream slope is noted as f 1 = tan λ 1 and upstream slope is noted as f 2 = tan λ 2 , where λ 1 and λ 2 are respectively the slope inclination of the downstream and upstream faces. Each slope is faced with a masonry cover composed of rectangular blocks of height a and thickness b, which are built dry with their bed joint normal to the face slope.

Loading. The system is solely subjected to the unit weight of its constitutive materials, which will be noted as γ s for the embankment and γ m for the masonry face. The influence of gravity is tested not by increasing its norm, but by inclining its direction from the vertical at an angle α. Indeed the introduction of a horizontal component of the body forces in the loading constitutes a first step towards the quasi-static approach of seismic problems; indeed, a vertical component may be added, using a lower unit weight of the constitutive materials. Considering this angle of inclination α, the embankment and the stone-facing unit weights are written:

γ s = γ s sin α x -γ s cos α y (5) γ m = γ m sin α x -γ m cos α y (6)
Resistance. The embankment is represented by a pulverulent material resorting to Mohr-Coulomb strength criterion. The support function associated to this criterion only depends on the friction angle of the material φ s , the dilatancy angle being equal to φ s , and can be found in [START_REF] Salençon | An introduction to the yield design theory and its application to soil mechanics[END_REF][START_REF] Salençon | Yield Design[END_REF]:

π (n s , v s ) = 0 (7a) if v s . n s ≥ | v s | sin φ s (7b)
The blocks composing the stone-facing are considered as infinitely resisting. The joints are governed by a purely frictional Mohr-Coulomb criterion, depending on the friction angle of the stones φ m . The support function of the joints is given by [START_REF] Salençon | An introduction to the yield design theory and its application to soil mechanics[END_REF][START_REF] Salençon | Yield Design[END_REF]:

π(n , V ) = 0 (8a) if V n ≥ |V t | tan φ m (8b)
where V denotes the velocity jump between two blocks of the stone-facing.

The same Mohr-Coulomb law is applied to the interface between the embankment and the stone-facing, with the frictional interface angle noted as δ:

π(n , V ) = 0 (9a) if V n ≥ |V t | tan δ (9b)
where V = v m -v s denotes the velocity jump between the embankment and the stone-facing. The value of the friction angle δ at the interface depends upon the choice of the material and the constructional arrangements between the embankment and the facing:

δ = φ s , if the material composing the embankment is laid loose with the stonefacing blocked on the embankment; -δ = φ m , if the embankment is faced, and the stone-facing less frictional than the embankment.

With these definitions of the loading and resistance parameters, it can be noted that the stability domain of the structure is necessarily a convex cone, with its apex at the origin and its geometry depending on the maximum load inclination α, in the plane of the loading parameters γ m and γ s .

Definition of virtual velocity fields

In the framework of yield design kinematic approach, the ultimate loading is given by the minimum value over all the kinematically admissible failure mechanisms. Nevertheless, as it is impossible to explore them all, this approach solely provides an upper-bound of the ultimate loading. It has been decided here to explore rigid body translation mechanisms. A failure line is drawn through the embankment, delimiting a motionless lower part from the upper part translating at a constant velocity field noted v s for the embankment, v m1 for the downstream stone-facing, and v m2 for the upstream stone-facing (Fig. 1). This mechanism has been chosen for its simplicity and its correspondence with experimental results on retaining structures [START_REF] Villemus | Experimental assessment of dry stone retaining wall stability on a rigid foundation[END_REF]Colas et al 2010b), and DEM results [START_REF] Deluzarche R ; R | Modélisation discrète des enrochements -application aux barrages[END_REF][START_REF] Deluzarche R ; R | Modélisation discrète des enrochements -application aux barrages[END_REF][START_REF] Tran | Discrete modelling of rock-ageing in rockfill dams[END_REF] on rockfill dams.

The failure line crossing the embankment can be defined by its origin R 1 on the downstream stone-facing [OA], quoted with its height h r1 , and its extremity R 2 on the upstream stone-facing [BC], quoted with its height h r2 . The study is generalised to the case of a failure line extremity R 2 situated in the top of the embankment [AB]; the distance AR 2 is then noted l r . Considering the discrete character of the stone-facing, it can be noticed that h r1 and h r2 cannot reach every value between 0 and h as they correspond to an integer number of blocks n r1 and n r2 , so that:

h r1 = n r1 a cos λ 1 h r2 = n r2 a cos λ 2 (10)
Based on these kinematic variables, the angle of inclination Ψ s of the failure line can be defined as:

tan Ψ s = h r1 -h r2 l r + h r1 f 1 + h r2 f 2 (11) with l r = l if R 2 ∈ [BC] h r2 = 0 if R 2 ∈ [AB]
The velocity field v s has to comply with the relevancy conditions of the resisting criterion chosen for the embankment (7b). Thus, considering this condition, v s can be written as :

v s = v s cos(Ψ s -φ s ) x -v s sin(Ψ s -φ s ) y (12)
The velocity fields v m1 and v m2 have to comply with the relevancy conditions of the resisting criterion chosen for the stone blocks (8b). Thus, considering this condition, v m1 and v m2 can be written as :

v m1 = v m1 cos(φ m + λ 1 ) x + v m1 sin(φ m + λ 1 ) y (13) v m2 = v m2 cos(φ m -λ 2 ) x + v m2 sin(φ m -λ 2 ) y (14)
Considering the upstream facing has no stabilizing influence on the embankment stability, it has been decided to take v m2 equal to 0 when its vertical component is positive that is to say:

v m2 = 0 if γ m . v m2 ≤ 0 (15)
The interface between the embankment and the masonry facing relies on a Mohr-Coulomb criterion with the relevancy condition on the velocity jump V i = v mi -v s exposed in (9b). Thus, considering this condition, v m1 , v m2 and v s are related by (Fig. 2):

v m1 = cos(Ψ s -φ s -δ + λ 1 ) cos(φ m + δ) v s (16) v m2 = cos(Ψ s -φ s -λ 2 + δ) cos(φ m -δ) v s (17) π 2 -φm -λ1 λ1 -δ λ1 -δ φm + λ1 Ψs -φs π 2 -Ψs + φs v m1 v s π 2 -φm + λ2 λ2 -δ λ2 -δ φm -λ2 Ψs -φs π 2 -Ψs + φs v m2 v s (a) (b)
Fig. 2 Velocity jump conditions at the interface between the embankment and the downstream stone-facing (a) or upstream stone-facing (b).

Upper-bound limit of stability of masonry dams

The stability of the structure is assessed using yield design upper-bound approach, with the objective to determine the inclination of gravity α max which leads to the failure of the embankment.

The work of the external forces P e falls into three parts, corresponding to the work in the embankment P e s , and the work of the downstream P e m1 and upstream P e m2 stone-facing. For simplification, the following notations will be assumed :

ξ s = Ψ s -φ s (18a) ξ 1 = φ m + λ 1 (18b) ξ 2 = φ m -λ 2 (18c) ζ 11 = Ψ s -φ s -δ + λ 1 (18d) ζ 12 = φ m + δ (18e) ζ 21 = Ψ s -φ s -λ 2 + δ (18f) ζ 22 = φ m -δ (18g)
Considering equations ( 5) and ( 12), the work of the external forces in the embankment P e s can be written as:

P e s = V s γ s . v s dV (19)
P e s = γ s v s 2 sin(α + ξ s ) (h r1 + h r2 ) l + (f 1 + f 2 ) h r1 h r2
Considering equations ( 6), ( 13) and ( 16), the work of the external forces in the downstream stone-facing P e m1 can be written as:

P e m1 = V m1 γ m . v m1 dV P e m1 = γ m bh r1 v s cos ζ 11 sin(α -ξ 1 ) cos ζ 12 cos λ 1 (20)
Similarly, considering equations ( 6), ( 14) and ( 17), the work of the external forces in the upstream stone-facing P e m2 can be written as:

P e m2 = V m2 γ m . v m2 dV P e m2 = γ m bh r2 v s cos ζ 21 sin(α -ξ 2 ) cos ζ 22 cos λ 2 (21)
The final expression of P e is thus given by the sum of ( 19), ( 20) and ( 21):

P e = P e m1 + P e m2 + P e s (22)
The maximum resisting work is also given by the sum of the work in the embankment P rm s , and the work of the downstream P rm m1 and upstream P rm m2 stone-facings. Yet, each maximum resisting work falls to 0 as the corresponding support functions equal 0, referring to equations (7a), (8a) and (9a), thus:

P rm = 0 (23)
Based on the principle of virtual work, the yield design upper-bound theorem states that the work of the external forces has to remain lower than the maximum resisting work to ensure the stability of the structure:

P e ≤ P rm (24) α ≤ arctan 2γ m b C 1 sin ξ 1 + C 2 sin ξ 2 -γ s C s sin ξ s 2γ m b C 1 cos ξ 1 + C 2 cos ξ 2 + γ s C s cos ξ s (25)
where C 1 , C 2 and C s are:

C 1 = cos(Ψ s -φ s -δ + λ 1 ) cos λ 1 cos(φ m + δ) h r1 C 2 = cos(Ψ s -φ s -λ 2 + δ) cos λ 2 cos(φ m -δ) h r2 C s = (h r1 + h r2 ) l r + (f 1 + f 2 ) h r1 h r2 (26)
Finally, the minimisation of the right member of the inequality (25), noted as α lim , with respect to the kinematic parameters n r1 and n r2 provides an upperbound limit value of the rotation of gravity α ensuring the collapse of the embankment:

α max = min n r1 ,n r2 ,l r α lim h r1 , h r2 , l r , Ψ s (27)
2.5 Consideration of water pressure

In case the model deals with embankment dams, an additional development is necessary to take into account the action of water on the structure. In order to ensure the impermeability of the dam, the upstream face is usually covered by an impervious concrete layer (see for instance Fig. 3b). The action of water will thus be modelled by a hydrostatic pressure applied on the upstream face.

Considering a water reserve of height h w behind the dam, the work of the external forces P e (22) is amended with a fourth term P e w representing the work of the water pressure: P e = P e m1 + P e m2 + P e s + P e w (28

)
where P e w is:

P e w = h w h-h r2 p w . v m2 dx 2 cos λ 2 P e w = γ w v m2 cos φ m 2 cos λ 2 (h w -h + h r2 ) 2 (29)
if h w ≤ h -h r2 , and P e w = 0 otherwise. The maximum resisting work remains (23), with the same conditions on the virtual velocity fields.

This provides a new expression of α max depending on the previous parameters plus the unit weight of water γ w and the height of the reservoir h w .

Application to a rockfill dam case study

An application of the model is undertaken on a real case study, taken from Deluzarche (2004): it consists in a rockfill embankment dam situated in the department of Hautes-Pyrénées (France). This dam, dated from the middle of the XX th century, is composed of a 20 m high granitic rockfill embankment covered with a stone-facing on each face (Fig. 3).

Based on the information given by Deluzarche ( 2004), geometrical and physical characteristics have been defined and reported in Table 1.

The model exposed in section 2 is used to assess the stability of the dam. The parameters given in Table 1 are reported in ( 27) in order to calculate the maximum inclination of gravity the dam can bear.

Considering the dam on its own, the failure is ensured for a rotation of gravity: can be noticed that this value is reached for n r1 = 0 and n r2 = 49, corresponding to a failure line starting from the toe of the dam and ending in the upstream stonefacing with an angle Ψ s = 26°. The kinematic parameters involved in the upper bound approach may be virtual, they yet provide an indication on the possible failure mechanism.

α max = 37.1 • (30)
For the case in which the reservoir is full, the failure is ensured for a rotation of gravity:

α max = 31.4 • (31)
This value is lower than the rotation of gravity needed to collapse the dam without retaining water (30). Nevertheless, the action of water on the stability of the structure remains moderate. The failure of the dam is reached for n r1 = 0 and n r2 = 37, corresponding to a failure line starting from the toe and developing with an angle Ψ s = 20°.

Comparison with DEM results

Deluzarche ( 2004) analyses the stability of this dam using a Distinct Element Method model of rockfill developed for the study. He has undertaken independent and combined tests on the mechanical properties of the rockfill and the stonefacing, and the loadings, in various configurations of the dam. In this study, the authors concentrate on the tests of:

the presence of stone-facing; -the presence of water; -the diminution of the rockfill friction angle φ s ; -the diminution of the stone friction angle φ m ; -the effect of a rotation α 0 of gravity.

The tests undertaken by Deluzarche have been reproduced using yield design and compared to the DEM results; tests and results are reported in Table 2. Comparing yield design and DEM results (Tab. 2), it can be seen that the two methods provide close results, considering the influence of the facing and the water reserve. The stabilising role of stone-facing is more important in yield design simulation as structures without stone-facing are unstable or likely to become for φ s = 45.6°. This is consistent with the definition of an upper-bound solution in case of yield design. Yet, the effect of a rotation of gravity is much more impacting in DEM simulations. For an angle of rotation α = 10°, the dam is still stable in yield design, as it fails for α max = 31.4 • > α 0 , whereas DEM simulations show an instability located in the upper part of the stone-facing. However, the reduced zone of instability highlighted in DEM suggests that the whole stability of the dam is not compromised (Fig. 4). For α 0 = 20°, the dam is quite close to failure in yield designabout 10°left before failure. In DEM simulations, a failure line, starting from the upper third of the upstream face to the half of the downstream face, develop in the dam. This difference can be accounted for by the upper-bound character of the yield design solution, which leads to an overestimation of the maximum angle of failure. The failure line observed in DEM simulations (Fig. 4) suggests that the difference can also be due to the discontinuity in the downstream face of the dam, called the risberm, which is not taken into account in yield design simulation. More DEM calculations would be necessary to precise the conclusions.

Parametric analysis

The sensitivity of the model is addressed by a parametric analysis on different characteristics of the dam. This enables the identification of the most influential parameters, which value have to be measured carefully. This also highlights the part of constructional arrangements in the stability of the construction, and can thus provide information on the elements which should be paid attention to during the inspection of an existing dam.

Influence of the water height

The first parametric analysis focuses on the influence of the water impoundment on the dam. Fig. 5a shows the evolution of the failure angle of inclination α max with the filling of the dam. It can be seen that the water reserve has no influence on the dam stability when the level is above 50% of the dam height. This is due to the slope of the optimal internal failure line in the dam which ends above half of the upstream face. Then, the water reserve leads to a reduction of the stability of the dam, even though, as already mentioned in section 3, this reduction remains moderate.

The following parametric analyses concentrate on the dam on its own, without water reserve.

Influence of the stone-facing and rockfill weights

Rockfill dams are gravity structures, and the weights of the constituent materials of the dam have a great influence on its behaviour. Fig. 5b shows the evolution of failure angle of inclination α max depending on the facing to rockfill weight ratio γ m /γ s . The stability of the dam increases with the weight ratio, proving the important role of the dry-stone facing.

Influence of the friction angles of the rockfill and the stone-facing

The influence of the resisting characteristics can be evaluated by plotting the evolution of the failure angle of inclination of the dam α max depending on the rockfill friction angle φ s for different values of φ m , the stone block friction angle (Fig. 5c). It can be noticed that the stability of the structure increases with the friction angle of the rockfill and the stone. The stone and the rockfill friction angles stand for an important part of the stability: thus, they should be measured precisely (±2 • ) to ensure an accurate assessment of the structure.

Influence of the friction angle at the interface

The interface between the rockfill and its stone-facing is considered as purely frictional, complying with a Mohr-Coulomb law of friction angle δ. In a first approach, it has been decided to take the friction angle of the interface equal to the friction angle of the blocks composing the stone-facing δ = φ m . This value seems relevant for rockfill built carefully, with regular faces, as explained in section 2.2. However, for loose rockfill it seems better to use the friction angle of the rockfill δ = φ s . In this case, the maximum friction angle equals:

α max = 39.0 • (32)
This represents an increase of 5% of the stability compared to the value obtained with δ = φ s (30). In this case study, the interface friction angle has a moderate effect on the stability of the structure; this can be accounted for by the little difference between the two friction angles, which is common situation as rockfill and facing are often built with the same material.

Influence of the dam downstream slope inclination

The most remarkable specificity of this dam is the geometry of the downstreamface, which angle with the horizontal proves higher than the friction angle of the rockfill. The influence of this geometric parameter is evaluated in Fig. 5d, representing the evolution of the failure angle of inclination α max depending on the dam downstream slope inclination λ 1 . The graph consistently shows that the stability of the dam increases with its downstream slope. Besides, it can be seen that, even with a lower downstream slope, the dam still proves stable, even close to failure.

Influence of the orientation of the stone blocks

In the model previously exposed, blocks are considered as rectangular, with bed joints normal to the embankment slope. It can prove interesting to evaluate the influence of the block inclination, considering blocks are no longer rectangles but parallelograms of height a and thickness b with their bed joints parallel to the foundation. The formulas established in section 2 remain valid, except for v m1 et v m2 :

v m1 = v m1 cos φ m x + v m1 sin φ m y (33) v m2 = v m2 cos φ m x + v m2 sin φ m y (34)
and their relations with the virtual velocity in the embankment :

v m1 = cos(Ψ s -φ s -δ + λ 1 ) cos(φ m + δ -λ 1 ) v s (35) v m2 = cos(Ψ s -φ s -λ 2 + δ) cos(φ m + λ 2 -δ) v s (36)
The expression of the maximum angle of inclination α max is:

α ≤ arctan 2γ m b sin φ m K 1 + K 2 -γ s C s sin ξ s 2γ m b cos φ m K 1 + K 2 + γ s C s cos ξ s (37)
where K 1 , K 2 and C s are:

K 1 = cos(Ψ s -φ s -δ + λ 1 ) cos(φ m + δ -λ 1 ) h r1 K 2 = cos(Ψ s -φ s -λ 2 + δ) cos(φ m + λ 2 -δ) h r2 C s = (h r1 + h r2 ) l r + (f 1 + f 2 ) h r1 h r2 (38)
Thus, the expression of the maximum angle of inclination α max can be deduced from the minimization of the previous expression towards h r1 = n r1 a, h r2 = n r2 a and l r : α max = min n r1 ,n r2 ,l r α lim h r1 , h r2 , l r , Ψ s (39)

Considering the parameters in Table 1, the maximum value of α max is :

α max = 13.1 • (40)
Comparison of this value with (30) shows a decrease in stability of 60%, proving the importance of joint orientation for an equivalent volume of stone. This result is particularly interesting for inspection of existing dams, as observing the rotation of the stone-facing bed joints denotes a loss of stability of the structure.

Influence of stone-facings

The influence of the upstream and downstream stone-facings on rockfill dams stability have finally been tested in the model.

Removing the upstream stone-facing of the dam provides a failure angle of inclination :

α max = 39.6 • (41)
The rockfill dam shows slightly the same stability with (30) or without upstream stone-facing, meaning that this cover could be neglected in further calculation to simplify the model.

Considering there are no stone-facings, the dam is unstable. This result is consistent with the daring geometry of the embankment, which slope is higher than the friction angle of the material constituting the rockfill. This proves the importance of the downstream stone-facing in the stability of the rockfill dam as it can bear a rotation of gravity of 37.1°with stone-facing (40).

Conclusions and perspectives

In this article, an upper-bound solution to assess the stability of stone-facing embankments is developed. The model enables the analytic calculation of the structure, solely based on its geometry, unit weight and yield criterion. Then, the model is tested on a case study consisting in the structural evaluation of an existing dam. The model is compared to DEM simulations undertaken by [START_REF] Deluzarche R ; R | Modélisation discrète des enrochements -application aux barrages[END_REF]. Yield design provides an upper-bound solution for the stability of the dam, resorting on few parameters and requiring no calculation device or time, and thus proving an efficient tool to address structural evaluation problems on stone-facing embankments. Finally, a parametric analysis on this example proves the stabilising role of the stone-facing as well as the influence of the stone block orientation in the stability of the structure.

Fig. 3

 3 Fig. 3 Full-scale dam case study (source EDF): view of the downstream stone-facing (a) and schematic view of the section (b).

Fig. 4

 4 Fig. 4 Iso-values of velocities on DEM simulations for a rotation of gravity of 20°(top) and 10°(bottom) from Deluzarche (2004).

Fig. 5

 5 Fig.5Evolution of the failure angle of inclination α max depending on the water to dam height ratio hw/h (a), the facing to rockfill weight ratio γm/γs (b), the friction angle of the rockfill φs and the stone-facing φm (c), and the dam downstream slope inclination λ 1 (d).

Table 1

 1 Geometrical and physical parameters selected for the study of a full-scale dam.

	Parameters	Symbol	Value Unit
	Dam height	h	20.0	m
	Dam thickness at the top	l	1.0	m
	Dam downstream slope	λ 1	45	°Dam
	upstream slope	λ 2	45	°Stone
	block height	a	0.3	m
	Stone block thickness	b	1.2	m
	Water height	hw	20.0	m
	Rockfill unit weight	γs	18.3	kN/m 3
	Rockfill friction angle	φs	37.7	°Stone-facing
	unit weight	γm	21.0	kN/m 3
	Stone block friction angle	φm	35.0	°Interface
	friction angle	δ	35.0	°It

Table 2

 2 Comparison with DEM simulations taken from Deluzarche (2004) on a full-scale dam: yield design failure is appreciated with the previously exposed model and the additional rotation of gravity α f = α max α 0 needed for failure is given into brackets.

	Facing Water φs (°) φm (°)	α 0 (°) DEM failure	YD failure (α f )
	No	No	37.7	-	0	YES	YES
	No	No	45.6	-	0	NO	NO (0.6)
	Yes	No	37.7	35.0	0	NO	NO (37.1)
	Yes	Yes	37.7	35.0	0	NO	NO (31.4)
	Yes	Yes	30.4	26.6	0	NO	NO (16.2)
	Yes	Yes	21.2	5.7	0	YES	YES
	Yes	Yes	37.7	35.0	5	NO	NO (26.4)
	Yes	Yes	37.7	35.0	10	YES	NO (21.4)
	Yes	Yes	37.7	35.0	20	YES	NO (11.4)

Acknowledgements This work is part of the national project PEDRA (ref. 10 MGC S 017) devoted to the study of vernacular masonry constructions. The authors would like to thank the French Ministry of Ecology, Sustainable Development and Energy for their financial support to this project.